diff --git a/asterix-app/src/test/resources/runtimets/queries/boolean/and_01/and_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/boolean/and_01/and_01.1.ddl.aql
new file mode 100644
index 0000000..97b4670
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/boolean/and_01/and_01.1.ddl.aql
@@ -0,0 +1,4 @@
+drop dataverse test if exists;
+
+create dataverse test;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/boolean/and_01/and_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/boolean/and_01/and_01.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/boolean/and_01/and_01.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/boolean/and_01/and_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/boolean/and_01/and_01.3.query.aql
new file mode 100644
index 0000000..471abb5
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/boolean/and_01/and_01.3.query.aql
@@ -0,0 +1,5 @@
+use dataverse test;
+
+for $x in ["true"]
+for $y in ["false"]
+return $x and $y
diff --git a/asterix-app/src/test/resources/runtimets/queries/boolean/and_null/and_null.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/boolean/and_null/and_null.1.ddl.aql
new file mode 100644
index 0000000..d330bc0
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/boolean/and_null/and_null.1.ddl.aql
@@ -0,0 +1,3 @@
+drop dataverse test if exists;
+
+create dataverse test;
diff --git a/asterix-app/src/test/resources/runtimets/queries/boolean/and_null/and_null.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/boolean/and_null/and_null.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/boolean/and_null/and_null.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/boolean/and_null/and_null.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/boolean/and_null/and_null.3.query.aql
new file mode 100644
index 0000000..830ffe9
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/boolean/and_null/and_null.3.query.aql
@@ -0,0 +1,5 @@
+use dataverse test;
+
+let $x := boolean("true")
+let $y := null
+return $x and $y
diff --git a/asterix-app/src/test/resources/runtimets/queries/boolean/and_null_false/and_null_false.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/boolean/and_null_false/and_null_false.1.ddl.aql
new file mode 100644
index 0000000..d330bc0
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/boolean/and_null_false/and_null_false.1.ddl.aql
@@ -0,0 +1,3 @@
+drop dataverse test if exists;
+
+create dataverse test;
diff --git a/asterix-app/src/test/resources/runtimets/queries/boolean/and_null_false/and_null_false.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/boolean/and_null_false/and_null_false.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/boolean/and_null_false/and_null_false.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/boolean/and_null_false/and_null_false.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/boolean/and_null_false/and_null_false.3.query.aql
new file mode 100644
index 0000000..5e646a8
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/boolean/and_null_false/and_null_false.3.query.aql
@@ -0,0 +1,5 @@
+use dataverse test;
+
+let $x := boolean("false")
+let $y := null
+return $x and $y
diff --git a/asterix-app/src/test/resources/runtimets/queries/boolean/nd_01/nd_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/boolean/nd_01/nd_01.1.ddl.aql
deleted file mode 100644
index 9255694..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/boolean/nd_01/nd_01.1.ddl.aql
+++ /dev/null
@@ -1,11 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/boolean_and_01.adm";
-
-for $x in ["true"]
-for $y in ["false"]
-return $x and $y
diff --git a/asterix-app/src/test/resources/runtimets/queries/boolean/nd_01/nd_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/boolean/nd_01/nd_01.2.update.aql
deleted file mode 100644
index 9255694..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/boolean/nd_01/nd_01.2.update.aql
+++ /dev/null
@@ -1,11 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/boolean_and_01.adm";
-
-for $x in ["true"]
-for $y in ["false"]
-return $x and $y
diff --git a/asterix-app/src/test/resources/runtimets/queries/boolean/nd_01/nd_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/boolean/nd_01/nd_01.3.query.aql
deleted file mode 100644
index 9255694..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/boolean/nd_01/nd_01.3.query.aql
+++ /dev/null
@@ -1,11 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/boolean_and_01.adm";
-
-for $x in ["true"]
-for $y in ["false"]
-return $x and $y
diff --git a/asterix-app/src/test/resources/runtimets/queries/boolean/nd_nu/nd_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/boolean/nd_nu/nd_nu.1.ddl.aql
deleted file mode 100644
index eb02bde..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/boolean/nd_nu/nd_nu.1.ddl.aql
+++ /dev/null
@@ -1,11 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/boolean_and_null.adm";
-
-let $x := boolean("true")
-let $y := null
-return $x and $y
diff --git a/asterix-app/src/test/resources/runtimets/queries/boolean/nd_nu/nd_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/boolean/nd_nu/nd_nu.2.update.aql
deleted file mode 100644
index eb02bde..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/boolean/nd_nu/nd_nu.2.update.aql
+++ /dev/null
@@ -1,11 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/boolean_and_null.adm";
-
-let $x := boolean("true")
-let $y := null
-return $x and $y
diff --git a/asterix-app/src/test/resources/runtimets/queries/boolean/nd_nu/nd_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/boolean/nd_nu/nd_nu.3.query.aql
deleted file mode 100644
index eb02bde..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/boolean/nd_nu/nd_nu.3.query.aql
+++ /dev/null
@@ -1,11 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/boolean_and_null.adm";
-
-let $x := boolean("true")
-let $y := null
-return $x and $y
diff --git a/asterix-app/src/test/resources/runtimets/queries/boolean/nd_null_false/nd_null_false.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/boolean/nd_null_false/nd_null_false.1.ddl.aql
deleted file mode 100644
index e2a26f6..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/boolean/nd_null_false/nd_null_false.1.ddl.aql
+++ /dev/null
@@ -1,11 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/boolean_and_null_false.adm";
-
-let $x := boolean("false")
-let $y := null
-return $x and $y
diff --git a/asterix-app/src/test/resources/runtimets/queries/boolean/nd_null_false/nd_null_false.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/boolean/nd_null_false/nd_null_false.2.update.aql
deleted file mode 100644
index e2a26f6..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/boolean/nd_null_false/nd_null_false.2.update.aql
+++ /dev/null
@@ -1,11 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/boolean_and_null_false.adm";
-
-let $x := boolean("false")
-let $y := null
-return $x and $y
diff --git a/asterix-app/src/test/resources/runtimets/queries/boolean/nd_null_false/nd_null_false.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/boolean/nd_null_false/nd_null_false.3.query.aql
deleted file mode 100644
index e2a26f6..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/boolean/nd_null_false/nd_null_false.3.query.aql
+++ /dev/null
@@ -1,11 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/boolean_and_null_false.adm";
-
-let $x := boolean("false")
-let $y := null
-return $x and $y
diff --git a/asterix-app/src/test/resources/runtimets/queries/boolean/not_01/not_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/boolean/not_01/not_01.1.ddl.aql
index 6297755..97b4670 100644
--- a/asterix-app/src/test/resources/runtimets/queries/boolean/not_01/not_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/boolean/not_01/not_01.1.ddl.aql
@@ -2,11 +2,3 @@
 
 create dataverse test;
 
-use dataverse test;
-
-write output to nc1:"rttest/boolean_not_01.adm";
-
-let $x := true
-let $y := false
-let $z := null
-return {"not_x": not($x), "not_y": not($y), "not_z": not($z)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/boolean/not_01/not_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/boolean/not_01/not_01.2.update.aql
index 6297755..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/boolean/not_01/not_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/boolean/not_01/not_01.2.update.aql
@@ -1,12 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/boolean_not_01.adm";
-
-let $x := true
-let $y := false
-let $z := null
-return {"not_x": not($x), "not_y": not($y), "not_z": not($z)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/boolean/not_01/not_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/boolean/not_01/not_01.3.query.aql
index 6297755..af1a6bc 100644
--- a/asterix-app/src/test/resources/runtimets/queries/boolean/not_01/not_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/boolean/not_01/not_01.3.query.aql
@@ -1,11 +1,5 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-write output to nc1:"rttest/boolean_not_01.adm";
-
 let $x := true
 let $y := false
 let $z := null
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/add-null/add-null.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/add-null/add-null.1.ddl.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/add-null/add-null.1.ddl.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/add-null/add-null.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/add-null/add-null.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/add-null/add-null.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/dd-nu/dd-nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/add-null/add-null.3.query.aql
similarity index 79%
rename from asterix-app/src/test/resources/runtimets/queries/constructor/dd-nu/dd-nu.3.query.aql
rename to asterix-app/src/test/resources/runtimets/queries/constructor/add-null/add-null.3.query.aql
index caa30d7..e1fdcfb 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/dd-nu/dd-nu.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/add-null/add-null.3.query.aql
@@ -4,8 +4,6 @@
  * Date             :   19th July 2012
  */
 
-write output to nc1:"rttest/constructor_add-null.adm";
-
 let $x := 1
 let $y := 10
 let $z := 20
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/boolean_01/boolean_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/boolean_01/boolean_01.1.ddl.aql
index 479f20f..16769de 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/boolean_01/boolean_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/boolean_01/boolean_01.1.ddl.aql
@@ -1,10 +1,2 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/constructor_boolean_01.adm";
-
-let $c1 := boolean("true")
-let $c2 := boolean("false")
-return {"boolean1": $c1,"boolean2": $c2}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/boolean_01/boolean_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/boolean_01/boolean_01.2.update.aql
index 479f20f..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/boolean_01/boolean_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/boolean_01/boolean_01.2.update.aql
@@ -1,10 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/constructor_boolean_01.adm";
-
-let $c1 := boolean("true")
-let $c2 := boolean("false")
-return {"boolean1": $c1,"boolean2": $c2}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/boolean_01/boolean_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/boolean_01/boolean_01.3.query.aql
index 479f20f..335fed9 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/boolean_01/boolean_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/boolean_01/boolean_01.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/constructor_boolean_01.adm";
-
 let $c1 := boolean("true")
 let $c2 := boolean("false")
 return {"boolean1": $c1,"boolean2": $c2}
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/circle_01/circle_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/circle_01/circle_01.1.ddl.aql
index 3af819d..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/circle_01/circle_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/circle_01/circle_01.1.ddl.aql
@@ -1,9 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/constructor_circle_01.adm";
-
-let $c1 := circle("10.1234,11.1e-1 +10.2E-2")
-let $c2 := circle("0.1234,-1.00e-10 +10.5E-2")
-return {"circle1": $c1,"circle2": $c2}
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/circle_01/circle_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/circle_01/circle_01.2.update.aql
index 3af819d..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/circle_01/circle_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/circle_01/circle_01.2.update.aql
@@ -1,9 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/constructor_circle_01.adm";
-
-let $c1 := circle("10.1234,11.1e-1 +10.2E-2")
-let $c2 := circle("0.1234,-1.00e-10 +10.5E-2")
-return {"circle1": $c1,"circle2": $c2}
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/circle_01/circle_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/circle_01/circle_01.3.query.aql
index 3af819d..1420d06 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/circle_01/circle_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/circle_01/circle_01.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/constructor_circle_01.adm";
-
 let $c1 := circle("10.1234,11.1e-1 +10.2E-2")
 let $c2 := circle("0.1234,-1.00e-10 +10.5E-2")
-return {"circle1": $c1,"circle2": $c2}
\ No newline at end of file
+return {"circle1": $c1,"circle2": $c2}
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/date_01/date_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/date_01/date_01.1.ddl.aql
index 9bbfb9d..16769de 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/date_01/date_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/date_01/date_01.1.ddl.aql
@@ -1,17 +1,2 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/constructor_date_01.adm";
-
-let $c1 := date("2010-10-30")
-let $c2 := date("1987-11-19")
-let $c3 := date("-1987-11-19")
-let $c4 := date("0001-12-27")
-let $c5 := date("-1951-12-27")
-let $c6 := date("-2043-11-19")
-let $c7 := date("-19280329")
-let $c8 := date("19280329")
-
-return {"date1": $c1, "date2": $c2, "date3": $c3, "date4": $c4, "date5": $c5, "date6": $c6, "date7": $c7, "date8": $c8}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/date_01/date_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/date_01/date_01.2.update.aql
index 9bbfb9d..139597f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/date_01/date_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/date_01/date_01.2.update.aql
@@ -1,17 +1,2 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/constructor_date_01.adm";
-
-let $c1 := date("2010-10-30")
-let $c2 := date("1987-11-19")
-let $c3 := date("-1987-11-19")
-let $c4 := date("0001-12-27")
-let $c5 := date("-1951-12-27")
-let $c6 := date("-2043-11-19")
-let $c7 := date("-19280329")
-let $c8 := date("19280329")
-
-return {"date1": $c1, "date2": $c2, "date3": $c3, "date4": $c4, "date5": $c5, "date6": $c6, "date7": $c7, "date8": $c8}
 
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/date_01/date_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/date_01/date_01.3.query.aql
index 9bbfb9d..152a045 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/date_01/date_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/date_01/date_01.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/constructor_date_01.adm";
-
 let $c1 := date("2010-10-30")
 let $c2 := date("1987-11-19")
 let $c3 := date("-1987-11-19")
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/datetime_01/datetime_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/datetime_01/datetime_01.1.ddl.aql
index c4163d8..16769de 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/datetime_01/datetime_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/datetime_01/datetime_01.1.ddl.aql
@@ -1,22 +1,2 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/constructor_datetime_01.adm";
-
-let $c1 := datetime("2010-10-30T10:50:56.999+05:45")
-let $c2 := datetime("2010-10-30T10:30:56.250-10:00")
-let $c3 := datetime("1987-11-19T09:20:00.200Z")
-let $c4 := datetime("1987-11-19T10:50:56Z")
-let $c5 := datetime("-1987-11-19T10:50:56.099-05:30")
-let $c6 := datetime("-0001-11-19T10:50:56.719Z")
-let $c7 := datetime("1951-12-27T12:20:15Z")
-let $c8 := datetime("2043-11-19T10:50:56.719Z")
-let $c9 := datetime("-19280329T174937374-0630")
-let $c10 := datetime("-19280329T174937374+0630")
-let $c11 := datetime("-19280329T174937374")
-let $c12 := datetime("-19280329T174937374+0630")
-let $c13 := datetime("-19280329T17493737+0630")
-let $c14 := datetime("-19280301T05493737+0630")
-return {"datetime1": $c1, "datetime2": $c2, "datetime3": $c3, "datetime4": $c4, "datetime5": $c5, "datetime6": $c6, "datetime7": $c7, "datetime8": $c8, "datetime9": $c9, "datetime10": $c10, "datetime11": $c11, "datetime12": $c12, "datetime13": $c13, "datetime14": $c14}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/datetime_01/datetime_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/datetime_01/datetime_01.2.update.aql
index c4163d8..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/datetime_01/datetime_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/datetime_01/datetime_01.2.update.aql
@@ -1,22 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/constructor_datetime_01.adm";
-
-let $c1 := datetime("2010-10-30T10:50:56.999+05:45")
-let $c2 := datetime("2010-10-30T10:30:56.250-10:00")
-let $c3 := datetime("1987-11-19T09:20:00.200Z")
-let $c4 := datetime("1987-11-19T10:50:56Z")
-let $c5 := datetime("-1987-11-19T10:50:56.099-05:30")
-let $c6 := datetime("-0001-11-19T10:50:56.719Z")
-let $c7 := datetime("1951-12-27T12:20:15Z")
-let $c8 := datetime("2043-11-19T10:50:56.719Z")
-let $c9 := datetime("-19280329T174937374-0630")
-let $c10 := datetime("-19280329T174937374+0630")
-let $c11 := datetime("-19280329T174937374")
-let $c12 := datetime("-19280329T174937374+0630")
-let $c13 := datetime("-19280329T17493737+0630")
-let $c14 := datetime("-19280301T05493737+0630")
-return {"datetime1": $c1, "datetime2": $c2, "datetime3": $c3, "datetime4": $c4, "datetime5": $c5, "datetime6": $c6, "datetime7": $c7, "datetime8": $c8, "datetime9": $c9, "datetime10": $c10, "datetime11": $c11, "datetime12": $c12, "datetime13": $c13, "datetime14": $c14}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/datetime_01/datetime_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/datetime_01/datetime_01.3.query.aql
index c4163d8..6389e5a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/datetime_01/datetime_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/datetime_01/datetime_01.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/constructor_datetime_01.adm";
-
 let $c1 := datetime("2010-10-30T10:50:56.999+05:45")
 let $c2 := datetime("2010-10-30T10:30:56.250-10:00")
 let $c3 := datetime("1987-11-19T09:20:00.200Z")
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/dd-nu/dd-nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/dd-nu/dd-nu.1.ddl.aql
deleted file mode 100644
index caa30d7..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/dd-nu/dd-nu.1.ddl.aql
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * Description      :   Add anything plus null, the result should be null.
- * Expected Result  :   Success
- * Date             :   19th July 2012
- */
-
-write output to nc1:"rttest/constructor_add-null.adm";
-
-let $x := 1
-let $y := 10
-let $z := 20
-return ($x+$y+$z+null)
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/dd-nu/dd-nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/dd-nu/dd-nu.2.update.aql
deleted file mode 100644
index caa30d7..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/dd-nu/dd-nu.2.update.aql
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * Description      :   Add anything plus null, the result should be null.
- * Expected Result  :   Success
- * Date             :   19th July 2012
- */
-
-write output to nc1:"rttest/constructor_add-null.adm";
-
-let $x := 1
-let $y := 10
-let $z := 20
-return ($x+$y+$z+null)
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/double_01/double_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/double_01/double_01.1.ddl.aql
index 5595917..16769de 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/double_01/double_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/double_01/double_01.1.ddl.aql
@@ -1,14 +1,2 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/constructor_double_01.adm";
-
-let $c1 := double("NaN")
-let $c2 := double("INF")
-let $c3 := double("-INF")
-let $c4 := double("-80.20d")
-let $c5 := double("-20.56e-30")
-let $c6 := double("-20.56e-300")
-return {"double1": $c1,"double2": $c2,"double3": $c3,"double4": $c4,"double5": $c5,"double6": $c6}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/double_01/double_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/double_01/double_01.2.update.aql
index 5595917..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/double_01/double_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/double_01/double_01.2.update.aql
@@ -1,14 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/constructor_double_01.adm";
-
-let $c1 := double("NaN")
-let $c2 := double("INF")
-let $c3 := double("-INF")
-let $c4 := double("-80.20d")
-let $c5 := double("-20.56e-30")
-let $c6 := double("-20.56e-300")
-return {"double1": $c1,"double2": $c2,"double3": $c3,"double4": $c4,"double5": $c5,"double6": $c6}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/double_01/double_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/double_01/double_01.3.query.aql
index 5595917..3408891 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/double_01/double_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/double_01/double_01.3.query.aql
@@ -1,8 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/constructor_double_01.adm";
 
 let $c1 := double("NaN")
 let $c2 := double("INF")
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/duration_01/duration_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/duration_01/duration_01.1.ddl.aql
index 59a3634..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/duration_01/duration_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/duration_01/duration_01.1.ddl.aql
@@ -1,20 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/constructor_duration_01.adm";
-
-let $c1 := duration("P30Y10M25DT13H12M50S")
-let $c2 := duration("P25DT13H12M50S")
-let $c3 := duration("PT13H12M50S")
-let $c4 := duration("P30YT12MS")
-let $c5 := duration("PT13H")
-let $c6 := duration("-P30Y10M25DT13H12M50S")
-let $c7 := duration("-P25DT13H12M50S")
-let $c8 := duration("-PT13H50S")
-let $c9 := duration("P120D")
-let $c10 := duration("-P28M")
-let $c11 := duration("PT29M90.937S")
-let $c12 := duration("P300Y15M60DT300H98M482.435S")
-return {"duration1": $c1, "duration2": $c2, "duration3": $c3, "duration4": $c4, "duration5": $c5, "duration6": $c6, "duration7": $c7, "duration8": $c8, "duration9": $c9, "duration10": $c10, "duration11": $c11, "duration12": $c12}
 
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/duration_01/duration_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/duration_01/duration_01.2.update.aql
index 59a3634..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/duration_01/duration_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/duration_01/duration_01.2.update.aql
@@ -1,20 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/constructor_duration_01.adm";
-
-let $c1 := duration("P30Y10M25DT13H12M50S")
-let $c2 := duration("P25DT13H12M50S")
-let $c3 := duration("PT13H12M50S")
-let $c4 := duration("P30YT12MS")
-let $c5 := duration("PT13H")
-let $c6 := duration("-P30Y10M25DT13H12M50S")
-let $c7 := duration("-P25DT13H12M50S")
-let $c8 := duration("-PT13H50S")
-let $c9 := duration("P120D")
-let $c10 := duration("-P28M")
-let $c11 := duration("PT29M90.937S")
-let $c12 := duration("P300Y15M60DT300H98M482.435S")
-return {"duration1": $c1, "duration2": $c2, "duration3": $c3, "duration4": $c4, "duration5": $c5, "duration6": $c6, "duration7": $c7, "duration8": $c8, "duration9": $c9, "duration10": $c10, "duration11": $c11, "duration12": $c12}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/duration_01/duration_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/duration_01/duration_01.3.query.aql
index 59a3634..61785ba 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/duration_01/duration_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/duration_01/duration_01.3.query.aql
@@ -1,8 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/constructor_duration_01.adm";
 
 let $c1 := duration("P30Y10M25DT13H12M50S")
 let $c2 := duration("P25DT13H12M50S")
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/float_01/float_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/float_01/float_01.1.ddl.aql
index 4f179cc..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/float_01/float_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/float_01/float_01.1.ddl.aql
@@ -1,16 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/constructor_float_01.adm";
-
-let $c1 := float("NaN")
-let $c2 := float("INF")
-let $c3 := float("-INF")
-let $c4 := float("-80.20")
-let $c5 := float("-20.56e-30")
-// +5.0E10 would not generate a precise calc. even with parseFloat
- 
-
-return {"float1": $c1,"float2": $c2, "float3": $c3,"float4": $c4,"float5": $c5}
 
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/float_01/float_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/float_01/float_01.2.update.aql
index 4f179cc..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/float_01/float_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/float_01/float_01.2.update.aql
@@ -1,16 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/constructor_float_01.adm";
-
-let $c1 := float("NaN")
-let $c2 := float("INF")
-let $c3 := float("-INF")
-let $c4 := float("-80.20")
-let $c5 := float("-20.56e-30")
-// +5.0E10 would not generate a precise calc. even with parseFloat
- 
-
-return {"float1": $c1,"float2": $c2, "float3": $c3,"float4": $c4,"float5": $c5}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/ine_01/ine_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/ine_01/ine_01.1.ddl.aql
deleted file mode 100644
index 4317903..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/ine_01/ine_01.1.ddl.aql
+++ /dev/null
@@ -1,9 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/constructor_line_01.adm";
-
-let $c1 := line("10.1234,11.1e-1 +10.2E-2,-11.22")
-let $c2 := line("0.1234,-1.00e-10 +10.5E-2,-01.02")
-return {"line1": $c1,"line2": $c2}
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/ine_01/ine_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/ine_01/ine_01.2.update.aql
deleted file mode 100644
index 4317903..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/ine_01/ine_01.2.update.aql
+++ /dev/null
@@ -1,9 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/constructor_line_01.adm";
-
-let $c1 := line("10.1234,11.1e-1 +10.2E-2,-11.22")
-let $c2 := line("0.1234,-1.00e-10 +10.5E-2,-01.02")
-return {"line1": $c1,"line2": $c2}
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/ine_01/ine_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/ine_01/ine_01.3.query.aql
deleted file mode 100644
index 4317903..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/ine_01/ine_01.3.query.aql
+++ /dev/null
@@ -1,9 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/constructor_line_01.adm";
-
-let $c1 := line("10.1234,11.1e-1 +10.2E-2,-11.22")
-let $c2 := line("0.1234,-1.00e-10 +10.5E-2,-01.02")
-return {"line1": $c1,"line2": $c2}
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/int_01/int_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/int_01/int_01.1.ddl.aql
index 58ae18d..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/int_01/int_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/int_01/int_01.1.ddl.aql
@@ -1,16 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/constructor_int_01.adm";
-
-let $c1 := int8("+80i8")
-let $c2 := int16("160")
-let $c3 := int32("+320i32")
-let $c4 := int64("640")
-let $c5 := int8("-80")
-let $c6 := int16("-160i16")
-let $c7 := int32("-320")
-let $c8 := int64("-640i64")
-let $c9 := int64("-9223372036854775808")
-return {"int8": $c1,"int16": $c2,"int32": $c3, "int64": $c4, "int8_2": $c5,"int16_2": $c6,"int32_2": $c7, "int64_2": $c8, "int64_min" : $c9}
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/int_01/int_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/int_01/int_01.2.update.aql
index 58ae18d..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/int_01/int_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/int_01/int_01.2.update.aql
@@ -1,16 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/constructor_int_01.adm";
-
-let $c1 := int8("+80i8")
-let $c2 := int16("160")
-let $c3 := int32("+320i32")
-let $c4 := int64("640")
-let $c5 := int8("-80")
-let $c6 := int16("-160i16")
-let $c7 := int32("-320")
-let $c8 := int64("-640i64")
-let $c9 := int64("-9223372036854775808")
-return {"int8": $c1,"int16": $c2,"int32": $c3, "int64": $c4, "int8_2": $c5,"int16_2": $c6,"int32_2": $c7, "int64_2": $c8, "int64_min" : $c9}
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/int_01/int_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/int_01/int_01.3.query.aql
index 58ae18d..371e60b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/int_01/int_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/int_01/int_01.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/constructor_int_01.adm";
-
 let $c1 := int8("+80i8")
 let $c2 := int16("160")
 let $c3 := int32("+320i32")
@@ -13,4 +9,4 @@
 let $c7 := int32("-320")
 let $c8 := int64("-640i64")
 let $c9 := int64("-9223372036854775808")
-return {"int8": $c1,"int16": $c2,"int32": $c3, "int64": $c4, "int8_2": $c5,"int16_2": $c6,"int32_2": $c7, "int64_2": $c8, "int64_min" : $c9}
\ No newline at end of file
+return {"int8": $c1,"int16": $c2,"int32": $c3, "int64": $c4, "int8_2": $c5,"int16_2": $c6,"int32_2": $c7, "int64_2": $c8, "int64_min" : $c9}
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/interv/interv.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/interv/interv.2.update.aql
deleted file mode 100644
index 71e90fa..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/interv/interv.2.update.aql
+++ /dev/null
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/constructor_interval.adm";
-
-let $itv1 := interval-from-date("2010-10-30", "2012-10-21")
-let $itv2 := interval-from-time("03:04:05.678", "232425267")
-let $itv3 := interval-from-datetime("-1987-11-19T02:43:57.938", "1999-11-12T12:49:35.948")
-let $itv4 := interval-start-from-date("0001-12-27", "P3Y394DT48H398.483S")
-let $itv5 := interval-start-from-time("20:03:20.948", "PT48M389.938S")
-let $itv6 := interval-start-from-datetime("-2043-11-19T15:32:39.293", "P439Y3M20DT20H39M58.949S")
-
-return {"interval1": $itv1, "interval2": $itv2, "interval3": $itv3, "interval4": $itv4, "interval5": $itv5, "interval6": $itv6}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/interv/interv.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/interv/interv.3.query.aql
deleted file mode 100644
index 71e90fa..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/interv/interv.3.query.aql
+++ /dev/null
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/constructor_interval.adm";
-
-let $itv1 := interval-from-date("2010-10-30", "2012-10-21")
-let $itv2 := interval-from-time("03:04:05.678", "232425267")
-let $itv3 := interval-from-datetime("-1987-11-19T02:43:57.938", "1999-11-12T12:49:35.948")
-let $itv4 := interval-start-from-date("0001-12-27", "P3Y394DT48H398.483S")
-let $itv5 := interval-start-from-time("20:03:20.948", "PT48M389.938S")
-let $itv6 := interval-start-from-datetime("-2043-11-19T15:32:39.293", "P439Y3M20DT20H39M58.949S")
-
-return {"interval1": $itv1, "interval2": $itv2, "interval3": $itv3, "interval4": $itv4, "interval5": $itv5, "interval6": $itv6}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/interval/interval.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/interval/interval.1.ddl.aql
new file mode 100644
index 0000000..754ea81
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/interval/interval.1.ddl.aql
@@ -0,0 +1,3 @@
+drop dataverse test if exists;
+create dataverse test;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/interval/interval.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/interval/interval.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/interval/interval.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/interv/interv.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/interval/interval.3.query.aql
similarity index 84%
rename from asterix-app/src/test/resources/runtimets/queries/constructor/interv/interv.1.ddl.aql
rename to asterix-app/src/test/resources/runtimets/queries/constructor/interval/interval.3.query.aql
index 71e90fa..e0dc2bc 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/interv/interv.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/interval/interval.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/constructor_interval.adm";
-
 let $itv1 := interval-from-date("2010-10-30", "2012-10-21")
 let $itv2 := interval-from-time("03:04:05.678", "232425267")
 let $itv3 := interval-from-datetime("-1987-11-19T02:43:57.938", "1999-11-12T12:49:35.948")
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/line_01/line_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/line_01/line_01.1.ddl.aql
new file mode 100644
index 0000000..754ea81
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/line_01/line_01.1.ddl.aql
@@ -0,0 +1,3 @@
+drop dataverse test if exists;
+create dataverse test;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/line_01/line_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/line_01/line_01.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/line_01/line_01.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/line_01/line_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/line_01/line_01.3.query.aql
new file mode 100644
index 0000000..c974f05
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/line_01/line_01.3.query.aql
@@ -0,0 +1,5 @@
+use dataverse test;
+
+let $c1 := line("10.1234,11.1e-1 +10.2E-2,-11.22")
+let $c2 := line("0.1234,-1.00e-10 +10.5E-2,-01.02")
+return {"line1": $c1,"line2": $c2}
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/point_01/point_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/point_01/point_01.1.ddl.aql
index 09c770c..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/point_01/point_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/point_01/point_01.1.ddl.aql
@@ -1,11 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/constructor_point_01.adm";
-
-let $c1 := point("80.10d, -10E5")
-let $c2 := point3d("5e2, -10E+5, +10.5e-10d")
-let $c3 := point("5.10E-10d, -10E5")
-let $c4 := point3d("0.5e+2d, -10.0E+5d, +10.05e-10")
-return {"point1": $c1,"point3d1": $c2,"point2": $c3, "point3d2": $c4}
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/point_01/point_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/point_01/point_01.2.update.aql
index 09c770c..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/point_01/point_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/point_01/point_01.2.update.aql
@@ -1,11 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/constructor_point_01.adm";
-
-let $c1 := point("80.10d, -10E5")
-let $c2 := point3d("5e2, -10E+5, +10.5e-10d")
-let $c3 := point("5.10E-10d, -10E5")
-let $c4 := point3d("0.5e+2d, -10.0E+5d, +10.05e-10")
-return {"point1": $c1,"point3d1": $c2,"point2": $c3, "point3d2": $c4}
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/point_01/point_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/point_01/point_01.3.query.aql
index 09c770c..d6313db 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/point_01/point_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/point_01/point_01.3.query.aql
@@ -1,11 +1,7 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/constructor_point_01.adm";
-
 let $c1 := point("80.10d, -10E5")
 let $c2 := point3d("5e2, -10E+5, +10.5e-10d")
 let $c3 := point("5.10E-10d, -10E5")
 let $c4 := point3d("0.5e+2d, -10.0E+5d, +10.05e-10")
-return {"point1": $c1,"point3d1": $c2,"point2": $c3, "point3d2": $c4}
\ No newline at end of file
+return {"point1": $c1,"point3d1": $c2,"point2": $c3, "point3d2": $c4}
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/polygon_01/polygon_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/polygon_01/polygon_01.1.ddl.aql
index 750c559..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/polygon_01/polygon_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/polygon_01/polygon_01.1.ddl.aql
@@ -1,9 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/constructor_polygon_01.adm";
-
-let $c1 := polygon("-1.2,+1.3e2 -2.14E+5,2.15 -3.5e+2,03.6 -4.6E-3,+4.81")
-let $c2 := polygon("-1.0,+10.5e2 -02.15E+50,2.5 -1.0,+3.3e3 -2.50E+05,20.15 +3.5e+2,03.6 -4.60E-3,+4.75 -2,+1.0e2 -2.00E+5,20.10 30.5,03.25 -4.33E-3,+4.75")
-return {"polygon1": $c1,"polygon2": $c2}
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/polygon_01/polygon_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/polygon_01/polygon_01.2.update.aql
index 750c559..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/polygon_01/polygon_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/polygon_01/polygon_01.2.update.aql
@@ -1,9 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/constructor_polygon_01.adm";
-
-let $c1 := polygon("-1.2,+1.3e2 -2.14E+5,2.15 -3.5e+2,03.6 -4.6E-3,+4.81")
-let $c2 := polygon("-1.0,+10.5e2 -02.15E+50,2.5 -1.0,+3.3e3 -2.50E+05,20.15 +3.5e+2,03.6 -4.60E-3,+4.75 -2,+1.0e2 -2.00E+5,20.10 30.5,03.25 -4.33E-3,+4.75")
-return {"polygon1": $c1,"polygon2": $c2}
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/polygon_01/polygon_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/polygon_01/polygon_01.3.query.aql
index 750c559..7bb8e06 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/polygon_01/polygon_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/polygon_01/polygon_01.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/constructor_polygon_01.adm";
-
 let $c1 := polygon("-1.2,+1.3e2 -2.14E+5,2.15 -3.5e+2,03.6 -4.6E-3,+4.81")
 let $c2 := polygon("-1.0,+10.5e2 -02.15E+50,2.5 -1.0,+3.3e3 -2.50E+05,20.15 +3.5e+2,03.6 -4.60E-3,+4.75 -2,+1.0e2 -2.00E+5,20.10 30.5,03.25 -4.33E-3,+4.75")
-return {"polygon1": $c1,"polygon2": $c2}
\ No newline at end of file
+return {"polygon1": $c1,"polygon2": $c2}
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-01/primitive-01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-01/primitive-01.1.ddl.aql
index 3319d90..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-01/primitive-01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-01/primitive-01.1.ddl.aql
@@ -1,21 +0,0 @@
-/*
- * Test case name : primitive-01.aql
- * Description    : Test primitive integer type int8 constructor function with boundary values
- * Success        : Yes
- * Date           : May 7th 2012
- *
- */
-
-write output to nc1:"rttest/constructor_primitive-01.adm";
-
-//Boundary value tests int8().
-//with MIN and MAX supported values.
-
-let $a:=int8("-127")
-let $b:=int8("127")
-let $c:=int8("0")
-let $d:=int8("1")
-let $e:=int8("-1")
-return {"$a":$a,"$b":$b,"$c":$c,"$d":$d,"$e":$e}
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-01/primitive-01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-01/primitive-01.2.update.aql
index 3319d90..139597f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-01/primitive-01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-01/primitive-01.2.update.aql
@@ -1,21 +1,2 @@
-/*
- * Test case name : primitive-01.aql
- * Description    : Test primitive integer type int8 constructor function with boundary values
- * Success        : Yes
- * Date           : May 7th 2012
- *
- */
-
-write output to nc1:"rttest/constructor_primitive-01.adm";
-
-//Boundary value tests int8().
-//with MIN and MAX supported values.
-
-let $a:=int8("-127")
-let $b:=int8("127")
-let $c:=int8("0")
-let $d:=int8("1")
-let $e:=int8("-1")
-return {"$a":$a,"$b":$b,"$c":$c,"$d":$d,"$e":$e}
 
 
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-01/primitive-01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-01/primitive-01.3.query.aql
index 3319d90..ddfcd3a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-01/primitive-01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-01/primitive-01.3.query.aql
@@ -6,8 +6,6 @@
  *
  */
 
-write output to nc1:"rttest/constructor_primitive-01.adm";
-
 //Boundary value tests int8().
 //with MIN and MAX supported values.
 
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-02/primitive-02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-02/primitive-02.1.ddl.aql
index 3aa1a13..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-02/primitive-02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-02/primitive-02.1.ddl.aql
@@ -1,23 +0,0 @@
-/*
- * Test case name : primitive-02.aql
- * Description    : Test primitive integer type int16 constructor function with boundary values
- * Success        : Yes
- * Date           : May 7th 2012
- *
- */
-
-write output to nc1:"rttest/constructor_primitive-02.adm";
-
-//Boundary value tests int16().
-//with MIN and MAX supported values.
-
-let $a:=int16("-32767")
-let $b:=int16("32767")
-let $c:=int16("0")
-let $d:=int16("1")
-let $e:=int16("-1")
-let $f:=int16("16383")
-let $g:=int16("-16383")
-
-return {"$a":$a,"$b":$b,"$c":$c,"$d":$d,"$e":$e,"$f":$f,"$g":$g}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-02/primitive-02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-02/primitive-02.2.update.aql
index 3aa1a13..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-02/primitive-02.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-02/primitive-02.2.update.aql
@@ -1,23 +0,0 @@
-/*
- * Test case name : primitive-02.aql
- * Description    : Test primitive integer type int16 constructor function with boundary values
- * Success        : Yes
- * Date           : May 7th 2012
- *
- */
-
-write output to nc1:"rttest/constructor_primitive-02.adm";
-
-//Boundary value tests int16().
-//with MIN and MAX supported values.
-
-let $a:=int16("-32767")
-let $b:=int16("32767")
-let $c:=int16("0")
-let $d:=int16("1")
-let $e:=int16("-1")
-let $f:=int16("16383")
-let $g:=int16("-16383")
-
-return {"$a":$a,"$b":$b,"$c":$c,"$d":$d,"$e":$e,"$f":$f,"$g":$g}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-02/primitive-02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-02/primitive-02.3.query.aql
index 3aa1a13..eb006a4 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-02/primitive-02.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-02/primitive-02.3.query.aql
@@ -6,8 +6,6 @@
  *
  */
 
-write output to nc1:"rttest/constructor_primitive-02.adm";
-
 //Boundary value tests int16().
 //with MIN and MAX supported values.
 
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-03/primitive-03.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-03/primitive-03.1.ddl.aql
index f3df161..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-03/primitive-03.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-03/primitive-03.1.ddl.aql
@@ -1,23 +0,0 @@
-/*
- * Test case name : primitive-03.aql
- * Description    : Test primitive integer type int32 constructor function with boundary values
- * Success        : Yes
- * Date           : May 7th 2012
- *
- */
-
-write output to nc1:"rttest/constructor_primitive-03.adm";
-
-//Boundary value tests int32().
-//with MIN and MAX supported values.
-
-let $a:=int32("-2147483647")
-let $b:=int32("2147483647")
-
-let $c:=int32("0")
-let $d:=int32("1")
-let $e:=int32("-1")
-let $f:=int32("1073741828")
-let $g:=int32("-1073741828")
-
-return {"$a":$a,"$b":$b,"$c":$c,"$d":$d,"$e":$e,"$f":$f,"$g":$g}
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-03/primitive-03.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-03/primitive-03.2.update.aql
index f3df161..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-03/primitive-03.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-03/primitive-03.2.update.aql
@@ -1,23 +0,0 @@
-/*
- * Test case name : primitive-03.aql
- * Description    : Test primitive integer type int32 constructor function with boundary values
- * Success        : Yes
- * Date           : May 7th 2012
- *
- */
-
-write output to nc1:"rttest/constructor_primitive-03.adm";
-
-//Boundary value tests int32().
-//with MIN and MAX supported values.
-
-let $a:=int32("-2147483647")
-let $b:=int32("2147483647")
-
-let $c:=int32("0")
-let $d:=int32("1")
-let $e:=int32("-1")
-let $f:=int32("1073741828")
-let $g:=int32("-1073741828")
-
-return {"$a":$a,"$b":$b,"$c":$c,"$d":$d,"$e":$e,"$f":$f,"$g":$g}
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-03/primitive-03.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-03/primitive-03.3.query.aql
index f3df161..2ab2aba 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-03/primitive-03.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-03/primitive-03.3.query.aql
@@ -6,8 +6,6 @@
  *
  */
 
-write output to nc1:"rttest/constructor_primitive-03.adm";
-
 //Boundary value tests int32().
 //with MIN and MAX supported values.
 
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-04/primitive-04.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-04/primitive-04.1.ddl.aql
index a8e0b02..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-04/primitive-04.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-04/primitive-04.1.ddl.aql
@@ -1,23 +0,0 @@
-/*
- * Test case name : primitive-04.aql
- * Description    : Test primitive integer type int64 constructor functions with boundary values
- * Success        : Yes
- * Date           : May 7th 2012
- *
- */
-
-write output to nc1:"rttest/constructor_primitive-04.adm";
-
-//Boundary value tests int64().
-//with MIN and MAX supported values.
-
-let $a:=int64("9222872036854775809")
-let $b:=int64("-9222872036854775809")
-
-let $c:=int64("0")
-let $d:=int64("1")
-let $e:=int64("-1")
-let $f:=int64("4611436018427387904")
-let $g:=int64("-4611436018427387904")
-
-return {"$a":$a,"$b":$b,"$c":$c,"$d":$d,"$e":$e,"$f":$f,"$g":$g}
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-04/primitive-04.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-04/primitive-04.2.update.aql
index a8e0b02..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-04/primitive-04.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-04/primitive-04.2.update.aql
@@ -1,23 +0,0 @@
-/*
- * Test case name : primitive-04.aql
- * Description    : Test primitive integer type int64 constructor functions with boundary values
- * Success        : Yes
- * Date           : May 7th 2012
- *
- */
-
-write output to nc1:"rttest/constructor_primitive-04.adm";
-
-//Boundary value tests int64().
-//with MIN and MAX supported values.
-
-let $a:=int64("9222872036854775809")
-let $b:=int64("-9222872036854775809")
-
-let $c:=int64("0")
-let $d:=int64("1")
-let $e:=int64("-1")
-let $f:=int64("4611436018427387904")
-let $g:=int64("-4611436018427387904")
-
-return {"$a":$a,"$b":$b,"$c":$c,"$d":$d,"$e":$e,"$f":$f,"$g":$g}
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-04/primitive-04.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-04/primitive-04.3.query.aql
index a8e0b02..cf67348 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-04/primitive-04.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/primitive-04/primitive-04.3.query.aql
@@ -6,8 +6,6 @@
  *
  */
 
-write output to nc1:"rttest/constructor_primitive-04.adm";
-
 //Boundary value tests int64().
 //with MIN and MAX supported values.
 
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/string_01/string_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/string_01/string_01.1.ddl.aql
index fea0cb1..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/string_01/string_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/string_01/string_01.1.ddl.aql
@@ -1,10 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/constructor_string_01.adm";
-
-let $c1 := string("true")
-let $c2 := string("false\"")
-return {"string1": $c1,"string2": $c2}
 
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/string_01/string_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/string_01/string_01.2.update.aql
index fea0cb1..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/string_01/string_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/string_01/string_01.2.update.aql
@@ -1,10 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/constructor_string_01.adm";
-
-let $c1 := string("true")
-let $c2 := string("false\"")
-return {"string1": $c1,"string2": $c2}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/string_01/string_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/string_01/string_01.3.query.aql
index fea0cb1..49d2214 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/string_01/string_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/string_01/string_01.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/constructor_string_01.adm";
-
 let $c1 := string("true")
 let $c2 := string("false\"")
 return {"string1": $c1,"string2": $c2}
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/time_01/time_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/time_01/time_01.1.ddl.aql
index 4a040a1..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/time_01/time_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/time_01/time_01.1.ddl.aql
@@ -1,19 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/constructor_time_01.adm";
-
-let $c1 := time("10:50:56.200+05:00")
-let $c2 := time("10:50:56.200-10:15")
-let $c3 := time("10:50:56")
-let $c4 := time("10:50:56.200Z")
-let $c5 := time("23:59:59.999-13:30")
-let $c6 := time("00:00:00.000+14:45")
-let $c7 := time("12:59:00.019-01:00")
-let $c8 := time("12:59:00.01-01:00")
-let $c9 := time("12:59:00.019-01:00")
-let $c10 := time("12590001-0100")
-let $c11 := time("125900019-0100")
-return {"time1": $c1, "time2": $c2, "time3": $c3, "time4": $c4, "time5": $c5, "time6": $c6, "time7": $c7, "time8": $c8, "time9": $c9, "time10": $c10, "time11": $c11}
 
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/time_01/time_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/time_01/time_01.2.update.aql
index 4a040a1..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/constructor/time_01/time_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/time_01/time_01.2.update.aql
@@ -1,19 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/constructor_time_01.adm";
-
-let $c1 := time("10:50:56.200+05:00")
-let $c2 := time("10:50:56.200-10:15")
-let $c3 := time("10:50:56")
-let $c4 := time("10:50:56.200Z")
-let $c5 := time("23:59:59.999-13:30")
-let $c6 := time("00:00:00.000+14:45")
-let $c7 := time("12:59:00.019-01:00")
-let $c8 := time("12:59:00.01-01:00")
-let $c9 := time("12:59:00.019-01:00")
-let $c10 := time("12590001-0100")
-let $c11 := time("125900019-0100")
-return {"time1": $c1, "time2": $c2, "time3": $c3, "time4": $c4, "time5": $c5, "time6": $c6, "time7": $c7, "time8": $c8, "time9": $c9, "time10": $c10, "time11": $c11}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/co/co.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/custord/co/co.1.ddl.aql
index 2b9cc6b..d0de6ff 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/co/co.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/co/co.1.ddl.aql
@@ -36,29 +36,3 @@
   orders: [OrderType]
 }
 
-create dataset Customers3(CustomerType) 
-  primary key cid;
-create dataset Orders3(OrderType)
-  primary key oid;
-create dataset CustomerOrders3(CustomerOrdersType)
-  primary key cid;
-
-write output to nc1:"rttest/custord_co.adm";
-
-/*
-for $co1 in dataset('CustomerOrders3')
-for $o1 in $co1.orders
-return {
-  "order": $o1, 
-  "ordcust": 
-    for $co2 in dataset('CustomerOrders3')
-    where some $o2 in $co2.orders 
-      satisfies $o2.oid = $o1.oid
-    return $co2.cust 
-}
-*/
-
-for $co1 in dataset('CustomerOrders3')
-where some $o1 in $co1.orders
-satisfies $o1.oid = 10
-return $co1
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/co/co.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/custord/co/co.2.update.aql
index 2b9cc6b..f3209c6 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/co/co.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/co/co.2.update.aql
@@ -1,41 +1,5 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse custord;
 
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as open {
-  cid: int32, 
-  name: string,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
-create type OrderType as open {
-  oid: int32,
-  cid: int32,
-  orderstatus: string,
-  orderpriority: string,
-  clerk: string,
-  total: float
-}
-
-create type CustomerOrdersType as open {
-  cid: int32,
-  cust: CustomerType,
-  orders: [OrderType]
-}
-
 create dataset Customers3(CustomerType) 
   primary key cid;
 create dataset Orders3(OrderType)
@@ -43,22 +7,3 @@
 create dataset CustomerOrders3(CustomerOrdersType)
   primary key cid;
 
-write output to nc1:"rttest/custord_co.adm";
-
-/*
-for $co1 in dataset('CustomerOrders3')
-for $o1 in $co1.orders
-return {
-  "order": $o1, 
-  "ordcust": 
-    for $co2 in dataset('CustomerOrders3')
-    where some $o2 in $co2.orders 
-      satisfies $o2.oid = $o1.oid
-    return $co2.cust 
-}
-*/
-
-for $co1 in dataset('CustomerOrders3')
-where some $o1 in $co1.orders
-satisfies $o1.oid = 10
-return $co1
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/co/co.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/custord/co/co.3.query.aql
index 2b9cc6b..fad7c09 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/co/co.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/co/co.3.query.aql
@@ -1,50 +1,5 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse custord;
 
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as open {
-  cid: int32, 
-  name: string,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
-create type OrderType as open {
-  oid: int32,
-  cid: int32,
-  orderstatus: string,
-  orderpriority: string,
-  clerk: string,
-  total: float
-}
-
-create type CustomerOrdersType as open {
-  cid: int32,
-  cust: CustomerType,
-  orders: [OrderType]
-}
-
-create dataset Customers3(CustomerType) 
-  primary key cid;
-create dataset Orders3(OrderType)
-  primary key oid;
-create dataset CustomerOrders3(CustomerOrdersType)
-  primary key cid;
-
-write output to nc1:"rttest/custord_co.adm";
-
 /*
 for $co1 in dataset('CustomerOrders3')
 for $o1 in $co1.orders
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_01/customer_q_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_01/customer_q_01.1.ddl.aql
index 04f7669..3b6d38c 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_01/customer_q_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_01/customer_q_01.1.ddl.aql
@@ -2,8 +2,6 @@
 
 create dataverse test;
 
-use dataverse test;
-
 create type AddressType as open {
   number: int32, 
   street: string,
@@ -22,11 +20,3 @@
   }
 }
 
-create external dataset Customers(CustomerType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/customerData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_customer_q_01.adm";
-      
-for $c in dataset('Customers')
-return $c 
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_01/customer_q_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_01/customer_q_01.2.update.aql
index 04f7669..9718d72 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_01/customer_q_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_01/customer_q_01.2.update.aql
@@ -1,32 +1,5 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  cashBack: int32,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
 create external dataset Customers(CustomerType)
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/nontagged/customerData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_customer_q_01.adm";
-      
-for $c in dataset('Customers')
-return $c 
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_01/customer_q_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_01/customer_q_01.3.query.aql
index 04f7669..f6d9bb5 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_01/customer_q_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_01/customer_q_01.3.query.aql
@@ -1,32 +1,4 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
-
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  cashBack: int32,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
-create external dataset Customers(CustomerType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/customerData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_customer_q_01.adm";
       
 for $c in dataset('Customers')
 return $c 
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_02/customer_q_02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_02/customer_q_02.1.ddl.aql
index bb24a68..3b6d38c 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_02/customer_q_02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_02/customer_q_02.1.ddl.aql
@@ -2,8 +2,6 @@
 
 create dataverse test;
 
-use dataverse test;
-
 create type AddressType as open {
   number: int32, 
   street: string,
@@ -22,12 +20,3 @@
   }
 }
 
-create external dataset Customers(CustomerType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/customerData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_customer_q_02.adm";
-      
-for $c in dataset('Customers')
-let $nestedRec := $c.lastorder
-return { "id": $c.cid, "nestedRecord":$nestedRec, "order_id" : $nestedRec.oid}
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_02/customer_q_02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_02/customer_q_02.2.update.aql
index bb24a68..6808abb 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_02/customer_q_02.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_02/customer_q_02.2.update.aql
@@ -1,33 +1,6 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  cashBack: int32,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
 create external dataset Customers(CustomerType)
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/nontagged/customerData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_customer_q_02.adm";
-      
-for $c in dataset('Customers')
-let $nestedRec := $c.lastorder
-return { "id": $c.cid, "nestedRecord":$nestedRec, "order_id" : $nestedRec.oid}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_02/customer_q_02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_02/customer_q_02.3.query.aql
index bb24a68..7e8fd19 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_02/customer_q_02.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_02/customer_q_02.3.query.aql
@@ -1,32 +1,4 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
-
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  cashBack: int32,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
-create external dataset Customers(CustomerType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/customerData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_customer_q_02.adm";
       
 for $c in dataset('Customers')
 let $nestedRec := $c.lastorder
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_03/customer_q_03.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_03/customer_q_03.1.ddl.aql
index 32fed3b..3b6d38c 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_03/customer_q_03.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_03/customer_q_03.1.ddl.aql
@@ -2,8 +2,6 @@
 
 create dataverse test;
 
-use dataverse test;
-
 create type AddressType as open {
   number: int32, 
   street: string,
@@ -22,17 +20,3 @@
   }
 }
 
-create external dataset Customers(CustomerType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/customerData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_customer_q_03.adm";
-      
-for $c in dataset('Customers')
-let $nestedRec := $c.lastorder
-let $c1 := [ $c.cid, $nestedRec.oid]
-let $c2 := {{ $c.cid, $nestedRec.oid}}
-let $c3 := [ $c.lastorder, $nestedRec]
-let $c4 := {{ $c.lastorder, $nestedRec}}
-where $c.cid >= int32("3") 
-return { "id": $c.cid, "list1":$c1, "list2":$c2,"list3":$c3,"list4":$c4}
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_03/customer_q_03.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_03/customer_q_03.2.update.aql
index 32fed3b..6808abb 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_03/customer_q_03.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_03/customer_q_03.2.update.aql
@@ -1,38 +1,6 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  cashBack: int32,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
 create external dataset Customers(CustomerType)
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/nontagged/customerData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_customer_q_03.adm";
-      
-for $c in dataset('Customers')
-let $nestedRec := $c.lastorder
-let $c1 := [ $c.cid, $nestedRec.oid]
-let $c2 := {{ $c.cid, $nestedRec.oid}}
-let $c3 := [ $c.lastorder, $nestedRec]
-let $c4 := {{ $c.lastorder, $nestedRec}}
-where $c.cid >= int32("3") 
-return { "id": $c.cid, "list1":$c1, "list2":$c2,"list3":$c3,"list4":$c4}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_03/customer_q_03.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_03/customer_q_03.3.query.aql
index 32fed3b..2f9fbc9 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_03/customer_q_03.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_03/customer_q_03.3.query.aql
@@ -1,33 +1,5 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
-
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  cashBack: int32,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
-create external dataset Customers(CustomerType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/customerData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_customer_q_03.adm";
-      
+  
 for $c in dataset('Customers')
 let $nestedRec := $c.lastorder
 let $c1 := [ $c.cid, $nestedRec.oid]
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_04/customer_q_04.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_04/customer_q_04.1.ddl.aql
index 218cb7b..3b6d38c 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_04/customer_q_04.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_04/customer_q_04.1.ddl.aql
@@ -2,8 +2,6 @@
 
 create dataverse test;
 
-use dataverse test;
-
 create type AddressType as open {
   number: int32, 
   street: string,
@@ -22,13 +20,3 @@
   }
 }
 
-create external dataset Customers(CustomerType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/customerData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_customer_q_04.adm";
-      
-for $c in dataset('Customers')
-let $rec := { "cashBack":$c.cashBack, "cashBack+5": $c.cashBack+5, "cashBack-5": $c.cashBack -5, "cashBack*5": $c.cashBack*5, "cashBack/5": $c.cashBack/ 5, "-cashBack": -$c.cashBack}
-where $c.cid >= int32("3") 
-return { "id": $c.cid, "custname":$c.name, "age" : $c.age, "MathcashBack": $rec }
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_04/customer_q_04.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_04/customer_q_04.2.update.aql
index 218cb7b..6808abb 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_04/customer_q_04.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_04/customer_q_04.2.update.aql
@@ -1,34 +1,6 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  cashBack: int32,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
 create external dataset Customers(CustomerType)
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/nontagged/customerData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_customer_q_04.adm";
-      
-for $c in dataset('Customers')
-let $rec := { "cashBack":$c.cashBack, "cashBack+5": $c.cashBack+5, "cashBack-5": $c.cashBack -5, "cashBack*5": $c.cashBack*5, "cashBack/5": $c.cashBack/ 5, "-cashBack": -$c.cashBack}
-where $c.cid >= int32("3") 
-return { "id": $c.cid, "custname":$c.name, "age" : $c.age, "MathcashBack": $rec }
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_04/customer_q_04.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_04/customer_q_04.3.query.aql
index 218cb7b..1f2dcf4 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_04/customer_q_04.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_04/customer_q_04.3.query.aql
@@ -1,33 +1,5 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  cashBack: int32,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
-create external dataset Customers(CustomerType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/customerData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_customer_q_04.adm";
-      
 for $c in dataset('Customers')
 let $rec := { "cashBack":$c.cashBack, "cashBack+5": $c.cashBack+5, "cashBack-5": $c.cashBack -5, "cashBack*5": $c.cashBack*5, "cashBack/5": $c.cashBack/ 5, "-cashBack": -$c.cashBack}
 where $c.cid >= int32("3") 
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_05/customer_q_05.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_05/customer_q_05.1.ddl.aql
index 504df0b..3b6d38c 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_05/customer_q_05.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_05/customer_q_05.1.ddl.aql
@@ -2,9 +2,6 @@
 
 create dataverse test;
 
-use dataverse test;
-
-
 create type AddressType as open {
   number: int32, 
   street: string,
@@ -23,14 +20,3 @@
   }
 }
 
-create external dataset Customers(CustomerType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/customerData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_customer_q_05.adm";
-
-  
-for $c in dataset('Customers')
-let $rec := { "age":$c.age, "age+5": $c.age+5, "age-5": $c.age -5, "age*5": $c.age*5, "age/5": $c.age/ 5, "-age": -$c.age}
-where $c.cid >= int32("3") 
-return { "custname":$c.name, "age" : $c.age,  "MathAge": $rec }
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_05/customer_q_05.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_05/customer_q_05.2.update.aql
index 504df0b..9718d72 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_05/customer_q_05.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_05/customer_q_05.2.update.aql
@@ -1,36 +1,5 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  cashBack: int32,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
 create external dataset Customers(CustomerType)
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/nontagged/customerData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_customer_q_05.adm";
-
-  
-for $c in dataset('Customers')
-let $rec := { "age":$c.age, "age+5": $c.age+5, "age-5": $c.age -5, "age*5": $c.age*5, "age/5": $c.age/ 5, "-age": -$c.age}
-where $c.cid >= int32("3") 
-return { "custname":$c.name, "age" : $c.age,  "MathAge": $rec }
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_05/customer_q_05.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_05/customer_q_05.3.query.aql
index 504df0b..f5f48fd 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_05/customer_q_05.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_05/customer_q_05.3.query.aql
@@ -1,34 +1,4 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
-
-
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  cashBack: int32,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
-create external dataset Customers(CustomerType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/customerData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_customer_q_05.adm";
-
   
 for $c in dataset('Customers')
 let $rec := { "age":$c.age, "age+5": $c.age+5, "age-5": $c.age -5, "age*5": $c.age*5, "age/5": $c.age/ 5, "-age": -$c.age}
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_06/customer_q_06.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_06/customer_q_06.1.ddl.aql
index 0738dfe..6a0edf7 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_06/customer_q_06.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_06/customer_q_06.1.ddl.aql
@@ -2,7 +2,6 @@
 
 create dataverse test;
 
-use dataverse test;
 
 create type AddressType as open {
   number: int32, 
@@ -22,14 +21,3 @@
   }
 }
 
-create external dataset Customers(CustomerType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/customerData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_customer_q_06.adm";
-      
-for $c in dataset('Customers')
-let $rec := $c.lastorder
-let $m := [$c.cid, $rec.oid]
-let $n := [$m[?], $m[1], $m[4]]
-return { "customerid": $c.name, "orderedlist": $n}
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_06/customer_q_06.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_06/customer_q_06.2.update.aql
index 0738dfe..6808abb 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_06/customer_q_06.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_06/customer_q_06.2.update.aql
@@ -1,35 +1,6 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  cashBack: int32,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
 create external dataset Customers(CustomerType)
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/nontagged/customerData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_customer_q_06.adm";
-      
-for $c in dataset('Customers')
-let $rec := $c.lastorder
-let $m := [$c.cid, $rec.oid]
-let $n := [$m[?], $m[1], $m[4]]
-return { "customerid": $c.name, "orderedlist": $n}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_06/customer_q_06.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_06/customer_q_06.3.query.aql
index 0738dfe..57fa0c7 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_06/customer_q_06.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_06/customer_q_06.3.query.aql
@@ -1,33 +1,5 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  cashBack: int32,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
-create external dataset Customers(CustomerType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/customerData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_customer_q_06.adm";
-      
 for $c in dataset('Customers')
 let $rec := $c.lastorder
 let $m := [$c.cid, $rec.oid]
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_07/customer_q_07.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_07/customer_q_07.1.ddl.aql
index cdcdd82..256f1f3 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_07/customer_q_07.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_07/customer_q_07.1.ddl.aql
@@ -2,8 +2,6 @@
 
 create dataverse test;
 
-use dataverse test;
-
 create type AddressType as open {
   number: int32, 
   street: string,
@@ -23,14 +21,3 @@
   }
 }
 
-create external dataset Customers(CustomerType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/customerData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_customer_q_07.adm";
-      
-for $c in dataset('Customers')
-let $rec := $c.lastorder
-let $m := [$c.cid, $rec.oid]
-let $n := {{$m[?], $m[1], $m[4]}}
-return { "customerid": $c.name, "unorderedlist": $n}
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_07/customer_q_07.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_07/customer_q_07.2.update.aql
index cdcdd82..9718d72 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_07/customer_q_07.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_07/customer_q_07.2.update.aql
@@ -1,36 +1,5 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  cashBack: int32,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
 create external dataset Customers(CustomerType)
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/nontagged/customerData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_customer_q_07.adm";
-      
-for $c in dataset('Customers')
-let $rec := $c.lastorder
-let $m := [$c.cid, $rec.oid]
-let $n := {{$m[?], $m[1], $m[4]}}
-return { "customerid": $c.name, "unorderedlist": $n}
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_07/customer_q_07.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_07/customer_q_07.3.query.aql
index cdcdd82..6c965fd 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_07/customer_q_07.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_07/customer_q_07.3.query.aql
@@ -1,33 +1,4 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
-
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  cashBack: int32,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
-create external dataset Customers(CustomerType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/customerData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_customer_q_07.adm";
       
 for $c in dataset('Customers')
 let $rec := $c.lastorder
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_08/customer_q_08.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_08/customer_q_08.1.ddl.aql
index baf2951..3b6d38c 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_08/customer_q_08.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_08/customer_q_08.1.ddl.aql
@@ -2,9 +2,6 @@
 
 create dataverse test;
 
-use dataverse test;
-
-
 create type AddressType as open {
   number: int32, 
   street: string,
@@ -23,13 +20,3 @@
   }
 }
 
-
-create external dataset Customers(CustomerType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/customerData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_customer_q_08.adm";
-      
-for $c in dataset('Customers')
-where $c.age < 15
-return { "custname":$c.name, "custage": $c.age }
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_08/customer_q_08.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_08/customer_q_08.2.update.aql
index baf2951..6808abb 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_08/customer_q_08.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/customer_q_08/customer_q_08.2.update.aql
@@ -1,35 +1,6 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  cashBack: int32,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
-
 create external dataset Customers(CustomerType)
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/nontagged/customerData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_customer_q_08.adm";
-      
-for $c in dataset('Customers')
-where $c.age < 15
-return { "custname":$c.name, "custage": $c.age }
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_01/denorm-cust-order_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_01/denorm-cust-order_01.1.ddl.aql
index bcc4079..4a5a78d 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_01/denorm-cust-order_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_01/denorm-cust-order_01.1.ddl.aql
@@ -2,8 +2,6 @@
 
 create dataverse test;
 
-use dataverse test;
-
 create type AddressType as open {
   number: int32, 
   street: string,
@@ -36,29 +34,3 @@
   orders: [OrderType]
 }
 
-create dataset Customers1(CustomerType) 
-  primary key cid;
-create dataset Orders1(OrderType)
-  primary key oid;
-create dataset CustomerOrders1(CustomerOrdersType)
-  primary key cid;
-
-load dataset Customers1 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/custord-tiny/customer-tiny.adm"),("format"="adm")) pre-sorted;
-
-load dataset Orders1 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/custord-tiny/order-tiny.adm"),("format"="adm")) pre-sorted;
-
-// write output to nc1:"rttest/denorm-cust-order_01.adm";
-
-write into dataset CustomerOrders1 (
-
-for $c in dataset('Customers1')
-for $o in dataset('Orders1')
-where $c.cid = $o.cid and $c.age < 21 and $c.total > 50.0
-group by $cid := $c.cid decor $cust := $c with $o
-return {"cid":$cid, "cust": $cust, "orders": $o} 
-
-);
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_01/denorm-cust-order_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_01/denorm-cust-order_01.2.update.aql
index bcc4079..41ae6d4 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_01/denorm-cust-order_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_01/denorm-cust-order_01.2.update.aql
@@ -1,41 +1,5 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as open {
-  cid: int32, 
-  name: string,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
-create type OrderType as open {
-  oid: int32,
-  cid: int32,
-  orderstatus: string,
-  orderpriority: string,
-  clerk: string,
-  total: float
-}
-
-create type CustomerOrdersType as open {
-  cid: int32,
-  cust: CustomerType,
-  orders: [OrderType]
-}
-
 create dataset Customers1(CustomerType) 
   primary key cid;
 create dataset Orders1(OrderType)
@@ -51,14 +15,3 @@
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/custord-tiny/order-tiny.adm"),("format"="adm")) pre-sorted;
 
-// write output to nc1:"rttest/denorm-cust-order_01.adm";
-
-write into dataset CustomerOrders1 (
-
-for $c in dataset('Customers1')
-for $o in dataset('Orders1')
-where $c.cid = $o.cid and $c.age < 21 and $c.total > 50.0
-group by $cid := $c.cid decor $cust := $c with $o
-return {"cid":$cid, "cust": $cust, "orders": $o} 
-
-);
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_01/denorm-cust-order_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_01/denorm-cust-order_01.3.query.aql
deleted file mode 100644
index bcc4079..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_01/denorm-cust-order_01.3.query.aql
+++ /dev/null
@@ -1,64 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as open {
-  cid: int32, 
-  name: string,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
-create type OrderType as open {
-  oid: int32,
-  cid: int32,
-  orderstatus: string,
-  orderpriority: string,
-  clerk: string,
-  total: float
-}
-
-create type CustomerOrdersType as open {
-  cid: int32,
-  cust: CustomerType,
-  orders: [OrderType]
-}
-
-create dataset Customers1(CustomerType) 
-  primary key cid;
-create dataset Orders1(OrderType)
-  primary key oid;
-create dataset CustomerOrders1(CustomerOrdersType)
-  primary key cid;
-
-load dataset Customers1 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/custord-tiny/customer-tiny.adm"),("format"="adm")) pre-sorted;
-
-load dataset Orders1 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/custord-tiny/order-tiny.adm"),("format"="adm")) pre-sorted;
-
-// write output to nc1:"rttest/denorm-cust-order_01.adm";
-
-write into dataset CustomerOrders1 (
-
-for $c in dataset('Customers1')
-for $o in dataset('Orders1')
-where $c.cid = $o.cid and $c.age < 21 and $c.total > 50.0
-group by $cid := $c.cid decor $cust := $c with $o
-return {"cid":$cid, "cust": $cust, "orders": $o} 
-
-);
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_01/denorm-cust-order_01.3.update.aql b/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_01/denorm-cust-order_01.3.update.aql
new file mode 100644
index 0000000..6dfff7a
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_01/denorm-cust-order_01.3.update.aql
@@ -0,0 +1,11 @@
+use dataverse test;
+
+write into dataset CustomerOrders1 (
+
+for $c in dataset('Customers1')
+for $o in dataset('Orders1')
+where $c.cid = $o.cid and $c.age < 21 and $c.total > 50.0
+group by $cid := $c.cid decor $cust := $c with $o
+return {"cid":$cid, "cust": $cust, "orders": $o} 
+
+);
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_02/denorm-cust-order_02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_02/denorm-cust-order_02.1.ddl.aql
index 481adf4..05ca61b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_02/denorm-cust-order_02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_02/denorm-cust-order_02.1.ddl.aql
@@ -2,8 +2,6 @@
 
 create dataverse test;
 
-use dataverse test;
-
 create type AddressType as open {
   number: int32, 
   street: string,
@@ -35,36 +33,3 @@
   cust: CustomerType,
   orders: [OrderType]
 }
-
-create dataset Customers2(CustomerType) 
-  primary key cid;
-create dataset Orders2(OrderType)
-  primary key oid;
-create dataset CustomerOrders2(CustomerOrdersType)
-  primary key cid;
-
-load dataset Customers2 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/custord-tiny/customer-tiny.adm"),("format"="adm")) pre-sorted;
-
-load dataset Orders2 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/custord-tiny/order-tiny.adm"),("format"="adm")) pre-sorted;
-
-write into dataset CustomerOrders2 (
-
-for $c in dataset('Customers2')
-let $orders := 
-  for $o in dataset('Orders2')
-  where $o.cid = $c.cid
-  order by $o.oid asc
-  return $o
-return { "cid": $c.cid, "cust": $c, "orders": $orders }
-
-);
-
-write output to nc1:"rttest/custord_denorm-cust-order_02.adm";
-
-for $co in dataset('CustomerOrders2')
-order by $co.cid
-return $co
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_02/denorm-cust-order_02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_02/denorm-cust-order_02.2.update.aql
index 481adf4..850499c 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_02/denorm-cust-order_02.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_02/denorm-cust-order_02.2.update.aql
@@ -1,41 +1,5 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as open {
-  cid: int32, 
-  name: string,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
-create type OrderType as open {
-  oid: int32,
-  cid: int32,
-  orderstatus: string,
-  orderpriority: string,
-  clerk: string,
-  total: float
-}
-
-create type CustomerOrdersType as open {
-  cid: int32,
-  cust: CustomerType,
-  orders: [OrderType]
-}
-
 create dataset Customers2(CustomerType) 
   primary key cid;
 create dataset Orders2(OrderType)
@@ -51,20 +15,3 @@
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/custord-tiny/order-tiny.adm"),("format"="adm")) pre-sorted;
 
-write into dataset CustomerOrders2 (
-
-for $c in dataset('Customers2')
-let $orders := 
-  for $o in dataset('Orders2')
-  where $o.cid = $c.cid
-  order by $o.oid asc
-  return $o
-return { "cid": $c.cid, "cust": $c, "orders": $orders }
-
-);
-
-write output to nc1:"rttest/custord_denorm-cust-order_02.adm";
-
-for $co in dataset('CustomerOrders2')
-order by $co.cid
-return $co
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_02/denorm-cust-order_02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_02/denorm-cust-order_02.3.query.aql
deleted file mode 100644
index 481adf4..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_02/denorm-cust-order_02.3.query.aql
+++ /dev/null
@@ -1,70 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as open {
-  cid: int32, 
-  name: string,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
-create type OrderType as open {
-  oid: int32,
-  cid: int32,
-  orderstatus: string,
-  orderpriority: string,
-  clerk: string,
-  total: float
-}
-
-create type CustomerOrdersType as open {
-  cid: int32,
-  cust: CustomerType,
-  orders: [OrderType]
-}
-
-create dataset Customers2(CustomerType) 
-  primary key cid;
-create dataset Orders2(OrderType)
-  primary key oid;
-create dataset CustomerOrders2(CustomerOrdersType)
-  primary key cid;
-
-load dataset Customers2 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/custord-tiny/customer-tiny.adm"),("format"="adm")) pre-sorted;
-
-load dataset Orders2 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/custord-tiny/order-tiny.adm"),("format"="adm")) pre-sorted;
-
-write into dataset CustomerOrders2 (
-
-for $c in dataset('Customers2')
-let $orders := 
-  for $o in dataset('Orders2')
-  where $o.cid = $c.cid
-  order by $o.oid asc
-  return $o
-return { "cid": $c.cid, "cust": $c, "orders": $orders }
-
-);
-
-write output to nc1:"rttest/custord_denorm-cust-order_02.adm";
-
-for $co in dataset('CustomerOrders2')
-order by $co.cid
-return $co
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_02/denorm-cust-order_02.3.update.aql b/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_02/denorm-cust-order_02.3.update.aql
new file mode 100644
index 0000000..98d9158
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_02/denorm-cust-order_02.3.update.aql
@@ -0,0 +1,17 @@
+use dataverse test;
+
+write into dataset CustomerOrders2 (
+
+for $c in dataset('Customers2')
+let $orders := 
+  for $o in dataset('Orders2')
+  where $o.cid = $c.cid
+  order by $o.oid asc
+  return $o
+return { "cid": $c.cid, "cust": $c, "orders": $orders }
+
+);
+
+for $co in dataset('CustomerOrders2')
+order by $co.cid
+return $co
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_02/denorm-cust-order_02.4.query.aql b/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_02/denorm-cust-order_02.4.query.aql
new file mode 100644
index 0000000..3b1e1a1
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_02/denorm-cust-order_02.4.query.aql
@@ -0,0 +1,5 @@
+use dataverse test;
+
+for $co in dataset('CustomerOrders2')
+order by $co.cid
+return $co
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_03/denorm-cust-order_03.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_03/denorm-cust-order_03.1.ddl.aql
index 92a049d5..4a5a78d 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_03/denorm-cust-order_03.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_03/denorm-cust-order_03.1.ddl.aql
@@ -2,8 +2,6 @@
 
 create dataverse test;
 
-use dataverse test;
-
 create type AddressType as open {
   number: int32, 
   street: string,
@@ -36,43 +34,3 @@
   orders: [OrderType]
 }
 
-create dataset Customers3(CustomerType) 
-  primary key cid;
-create dataset Orders3(OrderType)
-  primary key oid;
-create dataset CustomerOrders3(CustomerOrdersType)
-  primary key cid;
-
-load dataset Customers3 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/custord-tiny/customer-tiny.adm"),("format"="adm")) pre-sorted;
-
-load dataset Orders3 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/custord-tiny/order-tiny.adm"),("format"="adm")) pre-sorted;
-
-
-write into dataset CustomerOrders3 (
-
-for $c in dataset('Customers3')
-let $orders := 
-  for $o in dataset('Orders3')
-  where $o.cid = $c.cid
-  order by $o.orderpriority desc
-  return $o
-return { "cid": $c.cid, "cust": $c, "orders": $orders }
-
-);
-
-write output to nc1:"rttest/custord_denorm-cust-order_03.adm";
-
-for $co1 in dataset('CustomerOrders3')
-for $o1 in $co1.orders
-return {
-  "order": $o1, 
-  "ordcust": 
-    for $co2 in dataset('CustomerOrders3')
-    where some $o2 in $co2.orders 
-      satisfies $o2.oid = $o1.oid
-    return $co2.cust 
-}
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_03/denorm-cust-order_03.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_03/denorm-cust-order_03.2.update.aql
index 92a049d5..6715c7f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_03/denorm-cust-order_03.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_03/denorm-cust-order_03.2.update.aql
@@ -1,41 +1,5 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as open {
-  cid: int32, 
-  name: string,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
-create type OrderType as open {
-  oid: int32,
-  cid: int32,
-  orderstatus: string,
-  orderpriority: string,
-  clerk: string,
-  total: float
-}
-
-create type CustomerOrdersType as open {
-  cid: int32,
-  cust: CustomerType,
-  orders: [OrderType]
-}
-
 create dataset Customers3(CustomerType) 
   primary key cid;
 create dataset Orders3(OrderType)
@@ -51,28 +15,3 @@
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/custord-tiny/order-tiny.adm"),("format"="adm")) pre-sorted;
 
-
-write into dataset CustomerOrders3 (
-
-for $c in dataset('Customers3')
-let $orders := 
-  for $o in dataset('Orders3')
-  where $o.cid = $c.cid
-  order by $o.orderpriority desc
-  return $o
-return { "cid": $c.cid, "cust": $c, "orders": $orders }
-
-);
-
-write output to nc1:"rttest/custord_denorm-cust-order_03.adm";
-
-for $co1 in dataset('CustomerOrders3')
-for $o1 in $co1.orders
-return {
-  "order": $o1, 
-  "ordcust": 
-    for $co2 in dataset('CustomerOrders3')
-    where some $o2 in $co2.orders 
-      satisfies $o2.oid = $o1.oid
-    return $co2.cust 
-}
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_03/denorm-cust-order_03.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_03/denorm-cust-order_03.3.query.aql
deleted file mode 100644
index 92a049d5..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_03/denorm-cust-order_03.3.query.aql
+++ /dev/null
@@ -1,78 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as open {
-  cid: int32, 
-  name: string,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
-create type OrderType as open {
-  oid: int32,
-  cid: int32,
-  orderstatus: string,
-  orderpriority: string,
-  clerk: string,
-  total: float
-}
-
-create type CustomerOrdersType as open {
-  cid: int32,
-  cust: CustomerType,
-  orders: [OrderType]
-}
-
-create dataset Customers3(CustomerType) 
-  primary key cid;
-create dataset Orders3(OrderType)
-  primary key oid;
-create dataset CustomerOrders3(CustomerOrdersType)
-  primary key cid;
-
-load dataset Customers3 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/custord-tiny/customer-tiny.adm"),("format"="adm")) pre-sorted;
-
-load dataset Orders3 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/custord-tiny/order-tiny.adm"),("format"="adm")) pre-sorted;
-
-
-write into dataset CustomerOrders3 (
-
-for $c in dataset('Customers3')
-let $orders := 
-  for $o in dataset('Orders3')
-  where $o.cid = $c.cid
-  order by $o.orderpriority desc
-  return $o
-return { "cid": $c.cid, "cust": $c, "orders": $orders }
-
-);
-
-write output to nc1:"rttest/custord_denorm-cust-order_03.adm";
-
-for $co1 in dataset('CustomerOrders3')
-for $o1 in $co1.orders
-return {
-  "order": $o1, 
-  "ordcust": 
-    for $co2 in dataset('CustomerOrders3')
-    where some $o2 in $co2.orders 
-      satisfies $o2.oid = $o1.oid
-    return $co2.cust 
-}
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_03/denorm-cust-order_03.3.update.aql b/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_03/denorm-cust-order_03.3.update.aql
new file mode 100644
index 0000000..6ddccc4
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_03/denorm-cust-order_03.3.update.aql
@@ -0,0 +1,14 @@
+use dataverse test;
+
+write into dataset CustomerOrders3 (
+
+for $c in dataset('Customers3')
+let $orders := 
+  for $o in dataset('Orders3')
+  where $o.cid = $c.cid
+  order by $o.orderpriority desc
+  return $o
+return { "cid": $c.cid, "cust": $c, "orders": $orders }
+
+);
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_03/denorm-cust-order_03.4.query.aql b/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_03/denorm-cust-order_03.4.query.aql
new file mode 100644
index 0000000..1bdfa7f
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/denorm-cust-order_03/denorm-cust-order_03.4.query.aql
@@ -0,0 +1,12 @@
+use dataverse test;
+
+for $co1 in dataset('CustomerOrders3')
+for $o1 in $co1.orders
+return {
+  "order": $o1, 
+  "ordcust": 
+    for $co2 in dataset('CustomerOrders3')
+    where some $o2 in $co2.orders 
+      satisfies $o2.oid = $o1.oid
+    return $co2.cust 
+}
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/freq-clerk/freq-clerk.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/custord/freq-clerk/freq-clerk.1.ddl.aql
index 9bc318a..3eec488 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/freq-clerk/freq-clerk.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/freq-clerk/freq-clerk.1.ddl.aql
@@ -2,8 +2,6 @@
 
 create dataverse test;
 
-use dataverse test;
-
 create type AddressType as open {
   number: int32, 
   street: string,
@@ -27,21 +25,3 @@
   total: float
 }
 
-create dataset CustomerOrders(CustomerOrderType) 
-  primary key cid;
-
-
-load dataset CustomerOrders
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/custord-tiny/custorder-tiny.adm"),("format"="adm")) pre-sorted;
-
-
-write output to nc1:"rttest/custord_freq_clark.adm";
-
-for $c in dataset('CustomerOrders')
-for $o in $c.orders
-group by $clerk := $o.clerk with $o
-let $count := count($o)
-order by $count, $clerk desc
-return { "clerk": $clerk, "ordercount": $count }
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/freq-clerk/freq-clerk.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/custord/freq-clerk/freq-clerk.2.update.aql
index 9bc318a..e26170e 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/freq-clerk/freq-clerk.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/freq-clerk/freq-clerk.2.update.aql
@@ -1,32 +1,5 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerOrderType as open {
-  cid: int32, 
-  name: string,
-  age: int32?,
-  address: AddressType?,
-  orders: [OrderType]
-}
-
-create type OrderType as open {
-  oid: int32,
-  cid: int32,
-  orderstatus: string,
-  orderpriority: string,
-  clerk: string,
-  total: float
-}
-
 create dataset CustomerOrders(CustomerOrderType) 
   primary key cid;
 
@@ -35,13 +8,3 @@
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/custord-tiny/custorder-tiny.adm"),("format"="adm")) pre-sorted;
 
-
-write output to nc1:"rttest/custord_freq_clark.adm";
-
-for $c in dataset('CustomerOrders')
-for $o in $c.orders
-group by $clerk := $o.clerk with $o
-let $count := count($o)
-order by $count, $clerk desc
-return { "clerk": $clerk, "ordercount": $count }
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/freq-clerk/freq-clerk.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/custord/freq-clerk/freq-clerk.3.query.aql
index 9bc318a..9060ff4 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/freq-clerk/freq-clerk.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/freq-clerk/freq-clerk.3.query.aql
@@ -1,43 +1,5 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerOrderType as open {
-  cid: int32, 
-  name: string,
-  age: int32?,
-  address: AddressType?,
-  orders: [OrderType]
-}
-
-create type OrderType as open {
-  oid: int32,
-  cid: int32,
-  orderstatus: string,
-  orderpriority: string,
-  clerk: string,
-  total: float
-}
-
-create dataset CustomerOrders(CustomerOrderType) 
-  primary key cid;
-
-
-load dataset CustomerOrders
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/custord-tiny/custorder-tiny.adm"),("format"="adm")) pre-sorted;
-
-
-write output to nc1:"rttest/custord_freq_clark.adm";
-
 for $c in dataset('CustomerOrders')
 for $o in $c.orders
 group by $clerk := $o.clerk with $o
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/join_q_01/join_q_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/custord/join_q_01/join_q_01.1.ddl.aql
index f5d2080..aab1e01 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/join_q_01/join_q_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/join_q_01/join_q_01.1.ddl.aql
@@ -1,7 +1,3 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
 create type AddressType as open {
@@ -32,19 +28,3 @@
   items: [int32]
 }
 
- 
-create external dataset Customers(CustomerType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/customerData.json"),("format"="adm"));
-        
-create external dataset Orders(OrderType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/orderData.json"),("format"="adm"));
-
-write output to nc1:"rttest/custord_join_q_01.adm";
-      
-for $c in dataset('Customers')
-for $o in dataset('Orders')
-where $c.cid = $o.cid 
-order by $c.name, $o.total
-return {"cust_name":$c.name, "cust_age": $c.age, "order_total":$o.total, "orderList":[$o.oid, $o.cid]} 
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/join_q_01/join_q_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/custord/join_q_01/join_q_01.2.update.aql
index f5d2080..86ad7be 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/join_q_01/join_q_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/join_q_01/join_q_01.2.update.aql
@@ -1,38 +1,5 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  cashBack: int32,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
-create type OrderType as open {
-  oid: int32,
-  cid: int32,
-  orderstatus: string,
-  orderpriority: string,
-  clerk: string,
-  total: float,
-  items: [int32]
-}
-
- 
 create external dataset Customers(CustomerType)
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/nontagged/customerData.json"),("format"="adm"));
@@ -41,10 +8,3 @@
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/nontagged/orderData.json"),("format"="adm"));
 
-write output to nc1:"rttest/custord_join_q_01.adm";
-      
-for $c in dataset('Customers')
-for $o in dataset('Orders')
-where $c.cid = $o.cid 
-order by $c.name, $o.total
-return {"cust_name":$c.name, "cust_age": $c.age, "order_total":$o.total, "orderList":[$o.oid, $o.cid]} 
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/join_q_01/join_q_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/custord/join_q_01/join_q_01.3.query.aql
index f5d2080..4f2dacf 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/join_q_01/join_q_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/join_q_01/join_q_01.3.query.aql
@@ -1,47 +1,4 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
-
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  cashBack: int32,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
-create type OrderType as open {
-  oid: int32,
-  cid: int32,
-  orderstatus: string,
-  orderpriority: string,
-  clerk: string,
-  total: float,
-  items: [int32]
-}
-
- 
-create external dataset Customers(CustomerType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/customerData.json"),("format"="adm"));
-        
-create external dataset Orders(OrderType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/orderData.json"),("format"="adm"));
-
-write output to nc1:"rttest/custord_join_q_01.adm";
       
 for $c in dataset('Customers')
 for $o in dataset('Orders')
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/join_q_02/join_q_02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/custord/join_q_02/join_q_02.1.ddl.aql
index 7b0cb5f..5ac99bf 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/join_q_02/join_q_02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/join_q_02/join_q_02.1.ddl.aql
@@ -2,9 +2,6 @@
 
 create dataverse test;
 
-use dataverse test;
-
-
 create type AddressType as open {
   number: int32, 
   street: string,
@@ -33,22 +30,3 @@
   items: [int32]
 }
 
- 
-create external dataset Customers(CustomerType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/customerData.json"),("format"="adm"));
-        
-create external dataset Orders(OrderType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/orderData.json"),("format"="adm"));
-
-write output to nc1:"rttest/custord_join_q_02.adm";
-      
-for $c in dataset('Customers')
-for $o in dataset('Orders')
-let $rec := $c.lastorder
-let $ol := [$o.oid, $rec.oid, $o.cid]
-let $ul := {{$o.oid, $rec.oid, $o.cid}}
-where $c.cid = $o.cid
-order by $c.name, $o.total
-return {"cust_name":$c.name, "order_total": $o.total, "orderedlist": $ol, "unorderedlist": $ul  } 
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/join_q_02/join_q_02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/custord/join_q_02/join_q_02.2.update.aql
index 7b0cb5f..86ad7be 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/join_q_02/join_q_02.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/join_q_02/join_q_02.2.update.aql
@@ -1,39 +1,5 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  cashBack: int32,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
-create type OrderType as open {
-  oid: int32,
-  cid: int32,
-  orderstatus: string,
-  orderpriority: string,
-  clerk: string,
-  total: float,
-  items: [int32]
-}
-
- 
 create external dataset Customers(CustomerType)
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/nontagged/customerData.json"),("format"="adm"));
@@ -42,13 +8,3 @@
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/nontagged/orderData.json"),("format"="adm"));
 
-write output to nc1:"rttest/custord_join_q_02.adm";
-      
-for $c in dataset('Customers')
-for $o in dataset('Orders')
-let $rec := $c.lastorder
-let $ol := [$o.oid, $rec.oid, $o.cid]
-let $ul := {{$o.oid, $rec.oid, $o.cid}}
-where $c.cid = $o.cid
-order by $c.name, $o.total
-return {"cust_name":$c.name, "order_total": $o.total, "orderedlist": $ol, "unorderedlist": $ul  } 
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/join_q_02/join_q_02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/custord/join_q_02/join_q_02.3.query.aql
index 7b0cb5f..45bc2be 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/join_q_02/join_q_02.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/join_q_02/join_q_02.3.query.aql
@@ -1,48 +1,4 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
-
-
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  cashBack: int32,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
-create type OrderType as open {
-  oid: int32,
-  cid: int32,
-  orderstatus: string,
-  orderpriority: string,
-  clerk: string,
-  total: float,
-  items: [int32]
-}
-
- 
-create external dataset Customers(CustomerType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/customerData.json"),("format"="adm"));
-        
-create external dataset Orders(OrderType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/orderData.json"),("format"="adm"));
-
-write output to nc1:"rttest/custord_join_q_02.adm";
       
 for $c in dataset('Customers')
 for $o in dataset('Orders')
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/join_q_03/join_q_03.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/custord/join_q_03/join_q_03.1.ddl.aql
index 002bdff..9ee8c32 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/join_q_03/join_q_03.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/join_q_03/join_q_03.1.ddl.aql
@@ -2,7 +2,6 @@
 
 create dataverse test;
 
-use dataverse test;
 create type AddressType as open {
   number: int32, 
   street: string,
@@ -31,24 +30,3 @@
   total: float,
   items: [int32]
 }
-
- 
-create external dataset Customers(CustomerType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/customerData.json"),("format"="adm"));
-        
-create external dataset Orders(OrderType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/orderData.json"),("format"="adm"));
-
-write output to nc1:"rttest/custord_join_q_03.adm";
-      
-
-for $c in dataset('Customers')
-for $o in dataset('Orders')
-let $rec := $c.lastorder
-let $ol := [$o.oid, $rec.oid, $o.cid]
-let $ul := {{$o.oid, $rec.oid, $o.cid}}
-where $c.cid = $o.cid
-order by $c.name, $o.total
-return {"cust_name":$c.name, "order_total": $o.total, "orderedlist": $ol, "unorderedlist": $ul, "ol_item1": $ol[0], "ol_item2": $ol[1], "ol_item5": $ol[4], "ul_item1": $ul[?]} 
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/join_q_03/join_q_03.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/custord/join_q_03/join_q_03.2.update.aql
index 002bdff..5a5228b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/join_q_03/join_q_03.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/join_q_03/join_q_03.2.update.aql
@@ -1,37 +1,4 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  cashBack: int32,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
-
-create type OrderType as open {
-  oid: int32,
-  cid: int32,
-  orderstatus: string,
-  orderpriority: string,
-  clerk: string,
-  total: float,
-  items: [int32]
-}
-
  
 create external dataset Customers(CustomerType)
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
@@ -41,14 +8,3 @@
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/nontagged/orderData.json"),("format"="adm"));
 
-write output to nc1:"rttest/custord_join_q_03.adm";
-      
-
-for $c in dataset('Customers')
-for $o in dataset('Orders')
-let $rec := $c.lastorder
-let $ol := [$o.oid, $rec.oid, $o.cid]
-let $ul := {{$o.oid, $rec.oid, $o.cid}}
-where $c.cid = $o.cid
-order by $c.name, $o.total
-return {"cust_name":$c.name, "order_total": $o.total, "orderedlist": $ol, "unorderedlist": $ul, "ol_item1": $ol[0], "ol_item2": $ol[1], "ol_item5": $ol[4], "ul_item1": $ul[?]} 
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/join_q_03/join_q_03.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/custord/join_q_03/join_q_03.3.query.aql
index 002bdff..c96be23 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/join_q_03/join_q_03.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/join_q_03/join_q_03.3.query.aql
@@ -1,48 +1,4 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  cashBack: int32,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
-
-create type OrderType as open {
-  oid: int32,
-  cid: int32,
-  orderstatus: string,
-  orderpriority: string,
-  clerk: string,
-  total: float,
-  items: [int32]
-}
-
- 
-create external dataset Customers(CustomerType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/customerData.json"),("format"="adm"));
-        
-create external dataset Orders(OrderType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/orderData.json"),("format"="adm"));
-
-write output to nc1:"rttest/custord_join_q_03.adm";
-      
 
 for $c in dataset('Customers')
 for $o in dataset('Orders')
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/join_q_04/join_q_04.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/custord/join_q_04/join_q_04.1.ddl.aql
index b424796..6689bb4 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/join_q_04/join_q_04.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/join_q_04/join_q_04.1.ddl.aql
@@ -2,7 +2,6 @@
 
 create dataverse test;
 
-use dataverse test;
 create type AddressType as open {
   number: int32, 
   street: string,
@@ -32,20 +31,3 @@
   items: [int32]
 }
 
- 
-create external dataset Customers(CustomerType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/customerData.json"),("format"="adm"));
-        
-create external dataset Orders(OrderType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/orderData.json"),("format"="adm"));
-
-write output to nc1:"rttest/custord_join_q_04.adm";
-      
-
-for $c in dataset('Customers')
-return {"order_id" :
-for $o in dataset('Orders')
-where $c.cid = $o.cid
-return $o.oid } 
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/join_q_04/join_q_04.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/custord/join_q_04/join_q_04.2.update.aql
index b424796..5a5228b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/join_q_04/join_q_04.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/join_q_04/join_q_04.2.update.aql
@@ -1,37 +1,4 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  cashBack: int32,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
-
-create type OrderType as open {
-  oid: int32,
-  cid: int32,
-  orderstatus: string,
-  orderpriority: string,
-  clerk: string,
-  total: float,
-  items: [int32]
-}
-
  
 create external dataset Customers(CustomerType)
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
@@ -41,11 +8,3 @@
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/nontagged/orderData.json"),("format"="adm"));
 
-write output to nc1:"rttest/custord_join_q_04.adm";
-      
-
-for $c in dataset('Customers')
-return {"order_id" :
-for $o in dataset('Orders')
-where $c.cid = $o.cid
-return $o.oid } 
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/join_q_04/join_q_04.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/custord/join_q_04/join_q_04.3.query.aql
index b424796..9996053 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/join_q_04/join_q_04.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/join_q_04/join_q_04.3.query.aql
@@ -1,48 +1,4 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  cashBack: int32,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
-
-create type OrderType as open {
-  oid: int32,
-  cid: int32,
-  orderstatus: string,
-  orderpriority: string,
-  clerk: string,
-  total: float,
-  items: [int32]
-}
-
- 
-create external dataset Customers(CustomerType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/customerData.json"),("format"="adm"));
-        
-create external dataset Orders(OrderType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/orderData.json"),("format"="adm"));
-
-write output to nc1:"rttest/custord_join_q_04.adm";
-      
 
 for $c in dataset('Customers')
 return {"order_id" :
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/oad-test/oad-test.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/custord/oad-test/oad-test.1.ddl.aql
index 6cafbe0..6a28f0d 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/oad-test/oad-test.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/oad-test/oad-test.1.ddl.aql
@@ -1,7 +1,6 @@
 drop dataverse test if exists;
   
 create dataverse test;
-use dataverse test;
 
 create type AddressType as open {
   number: int32, 
@@ -20,32 +19,3 @@
   }
 }
 
-create dataset c1(CustomerType) 
-  primary key cid;
-create dataset c2(CustomerType) 
-  primary key cid;  
-  
-load dataset c1 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/custord-tiny/customer-tiny.adm"),("format"="adm")) pre-sorted;
-
-
-write into dataset c2 (
-
-  for $c in dataset('c1')
-  return $c 
-
-);
-
-
-write output to nc1:"rttest/custord_load-test.adm";
-
-for $c in dataset('c2')
-order by $c.cid
-return $c
-
-
-// write output to nc1:"rttest/denorm-cust-order_01.adm";
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/oad-test/oad-test.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/custord/oad-test/oad-test.2.update.aql
index 6cafbe0..7c32303 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/oad-test/oad-test.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/oad-test/oad-test.2.update.aql
@@ -1,24 +1,5 @@
-drop dataverse test if exists;
-  
-create dataverse test;
 use dataverse test;
 
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as open {
-  cid: int32, 
-  name: string,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
 
 create dataset c1(CustomerType) 
   primary key cid;
@@ -29,23 +10,3 @@
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/custord-tiny/customer-tiny.adm"),("format"="adm")) pre-sorted;
 
-
-write into dataset c2 (
-
-  for $c in dataset('c1')
-  return $c 
-
-);
-
-
-write output to nc1:"rttest/custord_load-test.adm";
-
-for $c in dataset('c2')
-order by $c.cid
-return $c
-
-
-// write output to nc1:"rttest/denorm-cust-order_01.adm";
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/oad-test/oad-test.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/custord/oad-test/oad-test.3.query.aql
deleted file mode 100644
index 6cafbe0..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/custord/oad-test/oad-test.3.query.aql
+++ /dev/null
@@ -1,51 +0,0 @@
-drop dataverse test if exists;
-  
-create dataverse test;
-use dataverse test;
-
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as open {
-  cid: int32, 
-  name: string,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
-create dataset c1(CustomerType) 
-  primary key cid;
-create dataset c2(CustomerType) 
-  primary key cid;  
-  
-load dataset c1 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/custord-tiny/customer-tiny.adm"),("format"="adm")) pre-sorted;
-
-
-write into dataset c2 (
-
-  for $c in dataset('c1')
-  return $c 
-
-);
-
-
-write output to nc1:"rttest/custord_load-test.adm";
-
-for $c in dataset('c2')
-order by $c.cid
-return $c
-
-
-// write output to nc1:"rttest/denorm-cust-order_01.adm";
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/oad-test/oad-test.3.update.aql b/asterix-app/src/test/resources/runtimets/queries/custord/oad-test/oad-test.3.update.aql
new file mode 100644
index 0000000..11761d6
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/oad-test/oad-test.3.update.aql
@@ -0,0 +1,10 @@
+use dataverse test;
+
+write into dataset c2 (
+
+  for $c in dataset('c1')
+  return $c 
+
+);
+
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/oad-test/oad-test.4.query.aql b/asterix-app/src/test/resources/runtimets/queries/custord/oad-test/oad-test.4.query.aql
new file mode 100644
index 0000000..109195e
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/oad-test/oad-test.4.query.aql
@@ -0,0 +1,5 @@
+use dataverse test;
+
+for $c in dataset('c2')
+order by $c.cid
+return $c
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_01/order_q_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_01/order_q_01.1.ddl.aql
index 0fb9218..f0b6c27 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_01/order_q_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_01/order_q_01.1.ddl.aql
@@ -2,8 +2,6 @@
 
 create dataverse test;
 
-use dataverse test;
-
 create type OrderType as open {
   oid: int32,
   cid: int32,
@@ -14,12 +12,3 @@
   items: [int32]
 }
 
-
-create external dataset Orders(OrderType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/orderData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_order_q_01.adm";
-      
-for $c in dataset('Orders')
-return $c 
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_01/order_q_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_01/order_q_01.2.update.aql
index 0fb9218..0a8af78 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_01/order_q_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_01/order_q_01.2.update.aql
@@ -1,25 +1,5 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-create type OrderType as open {
-  oid: int32,
-  cid: int32,
-  orderstatus: string,
-  orderpriority: string,
-  clerk: string,
-  total: float,
-  items: [int32]
-}
-
-
 create external dataset Orders(OrderType)
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/nontagged/orderData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_order_q_01.adm";
-      
-for $c in dataset('Orders')
-return $c 
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_01/order_q_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_01/order_q_01.3.query.aql
index 0fb9218..4b9c081 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_01/order_q_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_01/order_q_01.3.query.aql
@@ -1,25 +1,4 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
-
-create type OrderType as open {
-  oid: int32,
-  cid: int32,
-  orderstatus: string,
-  orderpriority: string,
-  clerk: string,
-  total: float,
-  items: [int32]
-}
-
-
-create external dataset Orders(OrderType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/orderData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_order_q_01.adm";
-      
+     
 for $c in dataset('Orders')
 return $c 
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_02/order_q_02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_02/order_q_02.1.ddl.aql
index 08856e9..f0b6c27 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_02/order_q_02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_02/order_q_02.1.ddl.aql
@@ -2,8 +2,6 @@
 
 create dataverse test;
 
-use dataverse test;
-
 create type OrderType as open {
   oid: int32,
   cid: int32,
@@ -14,16 +12,3 @@
   items: [int32]
 }
 
-
-create external dataset Orders(OrderType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/orderData.json"),("format"="adm"));
-
-write output to nc1:"rttest/custord_order_q_02.adm";
-      
-for $o in dataset('Orders')
-let $c1 := [ $o.orderstatus, $o.clerk]
-let $c2 := {{ $o.orderstatus, $o.clerk}}
-let $c3 := [$o.heList, $o.openlist, $o.loc, $o.line, $o.poly, $o.lastorder]
-let $c4 := [$o.heList, $o.openlist, $o.loc, $o.line, $o.poly, $o.lastorder]
-return { "id": $o.cid, "list1":$c1, "list2":$c2,"list3":$c3,"list4":$c4}
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_02/order_q_02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_02/order_q_02.2.update.aql
index 08856e9..646c5ec 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_02/order_q_02.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_02/order_q_02.2.update.aql
@@ -1,29 +1,6 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-create type OrderType as open {
-  oid: int32,
-  cid: int32,
-  orderstatus: string,
-  orderpriority: string,
-  clerk: string,
-  total: float,
-  items: [int32]
-}
-
-
 create external dataset Orders(OrderType)
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/nontagged/orderData.json"),("format"="adm"));
 
-write output to nc1:"rttest/custord_order_q_02.adm";
-      
-for $o in dataset('Orders')
-let $c1 := [ $o.orderstatus, $o.clerk]
-let $c2 := {{ $o.orderstatus, $o.clerk}}
-let $c3 := [$o.heList, $o.openlist, $o.loc, $o.line, $o.poly, $o.lastorder]
-let $c4 := [$o.heList, $o.openlist, $o.loc, $o.line, $o.poly, $o.lastorder]
-return { "id": $o.cid, "list1":$c1, "list2":$c2,"list3":$c3,"list4":$c4}
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_02/order_q_02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_02/order_q_02.3.query.aql
index 08856e9..cb793b5 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_02/order_q_02.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_02/order_q_02.3.query.aql
@@ -1,26 +1,5 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-create type OrderType as open {
-  oid: int32,
-  cid: int32,
-  orderstatus: string,
-  orderpriority: string,
-  clerk: string,
-  total: float,
-  items: [int32]
-}
-
-
-create external dataset Orders(OrderType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/orderData.json"),("format"="adm"));
-
-write output to nc1:"rttest/custord_order_q_02.adm";
-      
 for $o in dataset('Orders')
 let $c1 := [ $o.orderstatus, $o.clerk]
 let $c2 := {{ $o.orderstatus, $o.clerk}}
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_03/order_q_03.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_03/order_q_03.1.ddl.aql
index 52bc6d2..f0b6c27 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_03/order_q_03.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_03/order_q_03.1.ddl.aql
@@ -2,8 +2,6 @@
 
 create dataverse test;
 
-use dataverse test;
-
 create type OrderType as open {
   oid: int32,
   cid: int32,
@@ -14,16 +12,3 @@
   items: [int32]
 }
 
-
-create external dataset Orders(OrderType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/orderData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_order_q_03.adm";
-      
-for $o in dataset('Orders')
-let $c1 := [ $o.orderstatus, $o.clerk]
-let $c2 := {{ $o.orderstatus, $o.clerk}}
-let $c3 := [$o.heList, $o.openlist, $o.loc, $o.line, $o.poly, $o.lastorder]
-let $c4 := [$o.heList, $o.openlist, $o.loc, $o.line, $o.poly, $o.lastorder]
-return { "orderid": $o.oid, "ordertot":$o.total, "list": $c1, "item1": $c1[0], "item2": $c1[1], "item3": $c1[2]}
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_03/order_q_03.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_03/order_q_03.2.update.aql
index 52bc6d2..0a8af78 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_03/order_q_03.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_03/order_q_03.2.update.aql
@@ -1,29 +1,5 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-create type OrderType as open {
-  oid: int32,
-  cid: int32,
-  orderstatus: string,
-  orderpriority: string,
-  clerk: string,
-  total: float,
-  items: [int32]
-}
-
-
 create external dataset Orders(OrderType)
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/nontagged/orderData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_order_q_03.adm";
-      
-for $o in dataset('Orders')
-let $c1 := [ $o.orderstatus, $o.clerk]
-let $c2 := {{ $o.orderstatus, $o.clerk}}
-let $c3 := [$o.heList, $o.openlist, $o.loc, $o.line, $o.poly, $o.lastorder]
-let $c4 := [$o.heList, $o.openlist, $o.loc, $o.line, $o.poly, $o.lastorder]
-return { "orderid": $o.oid, "ordertot":$o.total, "list": $c1, "item1": $c1[0], "item2": $c1[1], "item3": $c1[2]}
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_03/order_q_03.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_03/order_q_03.3.query.aql
index 52bc6d2..e098c34 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_03/order_q_03.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_03/order_q_03.3.query.aql
@@ -1,25 +1,4 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
-
-create type OrderType as open {
-  oid: int32,
-  cid: int32,
-  orderstatus: string,
-  orderpriority: string,
-  clerk: string,
-  total: float,
-  items: [int32]
-}
-
-
-create external dataset Orders(OrderType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/orderData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_order_q_03.adm";
       
 for $o in dataset('Orders')
 let $c1 := [ $o.orderstatus, $o.clerk]
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_04/order_q_04.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_04/order_q_04.1.ddl.aql
index e2fd5b6..f0b6c27 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_04/order_q_04.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_04/order_q_04.1.ddl.aql
@@ -2,8 +2,6 @@
 
 create dataverse test;
 
-use dataverse test;
-
 create type OrderType as open {
   oid: int32,
   cid: int32,
@@ -14,16 +12,3 @@
   items: [int32]
 }
 
-
-create external dataset Orders(OrderType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/orderData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_order_q_04.adm";
-      
-for $o in dataset('Orders')
-let $c1 := [ $o.orderstatus, $o.clerk]
-let $c2 := {{ $o.orderstatus, $o.clerk}}
-let $c3 := [$o.heList, $o.openlist, $o.loc, $o.line, $o.poly, $o.lastorder]
-let $c4 := [$o.heList, $o.openlist, $o.loc, $o.line, $o.poly, $o.lastorder]
-return { "orderid": $o.oid, "ordertot":$o.total, "list": $c3, "item1": $c3[0], "item2": $c3[1], "item5": $c3[5], "item10": $c3[10]}
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_04/order_q_04.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_04/order_q_04.2.update.aql
index e2fd5b6..646c5ec 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_04/order_q_04.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_04/order_q_04.2.update.aql
@@ -1,29 +1,6 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-create type OrderType as open {
-  oid: int32,
-  cid: int32,
-  orderstatus: string,
-  orderpriority: string,
-  clerk: string,
-  total: float,
-  items: [int32]
-}
-
-
 create external dataset Orders(OrderType)
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/nontagged/orderData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_order_q_04.adm";
-      
-for $o in dataset('Orders')
-let $c1 := [ $o.orderstatus, $o.clerk]
-let $c2 := {{ $o.orderstatus, $o.clerk}}
-let $c3 := [$o.heList, $o.openlist, $o.loc, $o.line, $o.poly, $o.lastorder]
-let $c4 := [$o.heList, $o.openlist, $o.loc, $o.line, $o.poly, $o.lastorder]
-return { "orderid": $o.oid, "ordertot":$o.total, "list": $c3, "item1": $c3[0], "item2": $c3[1], "item5": $c3[5], "item10": $c3[10]}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_04/order_q_04.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_04/order_q_04.3.query.aql
index e2fd5b6..302864a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_04/order_q_04.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_04/order_q_04.3.query.aql
@@ -1,26 +1,5 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
-
-create type OrderType as open {
-  oid: int32,
-  cid: int32,
-  orderstatus: string,
-  orderpriority: string,
-  clerk: string,
-  total: float,
-  items: [int32]
-}
-
-
-create external dataset Orders(OrderType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/orderData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_order_q_04.adm";
-      
+ 
 for $o in dataset('Orders')
 let $c1 := [ $o.orderstatus, $o.clerk]
 let $c2 := {{ $o.orderstatus, $o.clerk}}
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_05/order_q_05.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_05/order_q_05.1.ddl.aql
index 481c1fd..f0b6c27 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_05/order_q_05.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_05/order_q_05.1.ddl.aql
@@ -2,8 +2,6 @@
 
 create dataverse test;
 
-use dataverse test;
-
 create type OrderType as open {
   oid: int32,
   cid: int32,
@@ -14,14 +12,3 @@
   items: [int32]
 }
 
-
-create external dataset Orders(OrderType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/orderData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_order_q_05.adm";
-      
-for $o in dataset('Orders')
-let $c1 := []
-let $c2 := {{}}
-return { "orderid": $o.oid, "ordertot":$o.total, "emptyorderedlist": $c1, "emptyunorderedlist": $c2, "olist_item1": $c1[0], "olist_item5": $c1[4], "ulist_item1": $c2[?]}
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_05/order_q_05.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_05/order_q_05.2.update.aql
index 481c1fd..646c5ec 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_05/order_q_05.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_05/order_q_05.2.update.aql
@@ -1,27 +1,6 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-create type OrderType as open {
-  oid: int32,
-  cid: int32,
-  orderstatus: string,
-  orderpriority: string,
-  clerk: string,
-  total: float,
-  items: [int32]
-}
-
-
 create external dataset Orders(OrderType)
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/nontagged/orderData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_order_q_05.adm";
-      
-for $o in dataset('Orders')
-let $c1 := []
-let $c2 := {{}}
-return { "orderid": $o.oid, "ordertot":$o.total, "emptyorderedlist": $c1, "emptyunorderedlist": $c2, "olist_item1": $c1[0], "olist_item5": $c1[4], "ulist_item1": $c2[?]}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_05/order_q_05.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_05/order_q_05.3.query.aql
index 481c1fd..eddefbd 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_05/order_q_05.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_05/order_q_05.3.query.aql
@@ -1,26 +1,5 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-create type OrderType as open {
-  oid: int32,
-  cid: int32,
-  orderstatus: string,
-  orderpriority: string,
-  clerk: string,
-  total: float,
-  items: [int32]
-}
-
-
-create external dataset Orders(OrderType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/orderData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_order_q_05.adm";
-      
 for $o in dataset('Orders')
 let $c1 := []
 let $c2 := {{}}
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_06/order_q_06.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_06/order_q_06.1.ddl.aql
index 70c317f..f0b6c27 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_06/order_q_06.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_06/order_q_06.1.ddl.aql
@@ -2,8 +2,6 @@
 
 create dataverse test;
 
-use dataverse test;
-
 create type OrderType as open {
   oid: int32,
   cid: int32,
@@ -14,13 +12,3 @@
   items: [int32]
 }
 
-
-create external dataset Orders(OrderType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/orderData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_order_q_06.adm";
-
-for $o in dataset('Orders')
-let $c3 := {{$o.heList, $o.openlist}}
-return { "item1": $c3[?] }
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_06/order_q_06.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_06/order_q_06.2.update.aql
index 70c317f..646c5ec 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_06/order_q_06.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_06/order_q_06.2.update.aql
@@ -1,26 +1,6 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-create type OrderType as open {
-  oid: int32,
-  cid: int32,
-  orderstatus: string,
-  orderpriority: string,
-  clerk: string,
-  total: float,
-  items: [int32]
-}
-
-
 create external dataset Orders(OrderType)
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/nontagged/orderData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_order_q_06.adm";
 
-for $o in dataset('Orders')
-let $c3 := {{$o.heList, $o.openlist}}
-return { "item1": $c3[?] }
diff --git a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_06/order_q_06.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_06/order_q_06.3.query.aql
index 70c317f..ae3519d 100644
--- a/asterix-app/src/test/resources/runtimets/queries/custord/order_q_06/order_q_06.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/custord/order_q_06/order_q_06.3.query.aql
@@ -1,26 +1,5 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-create type OrderType as open {
-  oid: int32,
-  cid: int32,
-  orderstatus: string,
-  orderpriority: string,
-  clerk: string,
-  total: float,
-  items: [int32]
-}
-
-
-create external dataset Orders(OrderType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/orderData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/custord_order_q_06.adm";
-
 for $o in dataset('Orders')
 let $c3 := {{$o.heList, $o.openlist}}
 return { "item1": $c3[?] }
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/create-drop-cltype/create-drop-cltype.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/create-drop-cltype/create-drop-cltype.1.ddl.aql
index f6c6e91..19e9268 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/create-drop-cltype/create-drop-cltype.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/create-drop-cltype/create-drop-cltype.1.ddl.aql
@@ -7,7 +7,6 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type TestType as closed {
 id : int32,
@@ -33,8 +32,3 @@
 pt : point ?
 }
 
-write output to nc1:"rttest/dml_create-drop-cltype.adm";
-
-for $l in dataset('Metadata.Datatype')
-where $l.DatatypeName = 'TestType'
-return $l
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/create-drop-cltype/create-drop-cltype.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/create-drop-cltype/create-drop-cltype.2.update.aql
index f6c6e91..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/create-drop-cltype/create-drop-cltype.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/create-drop-cltype/create-drop-cltype.2.update.aql
@@ -1,40 +0,0 @@
-/*
- * Description  : Create and drop and recreate the same closed type, here type has optional fields.
- *              : verify correctness by querying metadata.
- * Date         : 11th Feb 2013
- * Expected Res : Success
- */
-
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-create type TestType as closed {
-id : int32,
-salary : double ?,
-name : string,
-durtn : duration ?,
-inter : interval,
-dt : date ?,
-tm : time,
-pt : point ?
-}
-
-drop type TestType;
-
-create type TestType as closed {
-id : int32,
-salary : double ?,
-name : string,
-durtn : duration ?,
-inter : interval,
-dt : date ?,
-tm : time,
-pt : point ?
-}
-
-write output to nc1:"rttest/dml_create-drop-cltype.adm";
-
-for $l in dataset('Metadata.Datatype')
-where $l.DatatypeName = 'TestType'
-return $l
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/create-drop-cltype/create-drop-cltype.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/create-drop-cltype/create-drop-cltype.3.query.aql
index f6c6e91..284a77a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/create-drop-cltype/create-drop-cltype.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/create-drop-cltype/create-drop-cltype.3.query.aql
@@ -5,36 +5,8 @@
  * Expected Res : Success
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type TestType as closed {
-id : int32,
-salary : double ?,
-name : string,
-durtn : duration ?,
-inter : interval,
-dt : date ?,
-tm : time,
-pt : point ?
-}
-
-drop type TestType;
-
-create type TestType as closed {
-id : int32,
-salary : double ?,
-name : string,
-durtn : duration ?,
-inter : interval,
-dt : date ?,
-tm : time,
-pt : point ?
-}
-
-write output to nc1:"rttest/dml_create-drop-cltype.adm";
-
 for $l in dataset('Metadata.Datatype')
 where $l.DatatypeName = 'TestType'
 return $l
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/create-drop-opntype/create-drop-opntype.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/create-drop-opntype/create-drop-opntype.1.ddl.aql
index 0ef6e93..1eb5b41 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/create-drop-opntype/create-drop-opntype.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/create-drop-opntype/create-drop-opntype.1.ddl.aql
@@ -7,7 +7,6 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type TestType as open {
 id : int32,
@@ -33,8 +32,3 @@
 pt : point ?
 }
 
-write output to nc1:"rttest/dml_create-drop-opntype.adm"; 
-
-for $l in dataset('Metadata.Datatype')
-where $l.DatatypeName = 'TestType'
-return $l
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/create-drop-opntype/create-drop-opntype.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/create-drop-opntype/create-drop-opntype.2.update.aql
index 0ef6e93..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/create-drop-opntype/create-drop-opntype.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/create-drop-opntype/create-drop-opntype.2.update.aql
@@ -1,40 +0,0 @@
-/*
- * Description  : Create and drop and recreate the same open type, here type has optional fields.
- *              : verify correctness by querying metadata.
- * Date         : 11th Feb 2013
- * Expected Res : Success
- */
-
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-create type TestType as open {
-id : int32,
-salary : double ?,
-name : string,
-durtn : duration ?,
-inter : interval,
-dt : date ?,
-tm : time,
-pt : point ?
-}
-
-drop type TestType;
-
-create type TestType as open {
-id : int32,
-salary : double ?,
-name : string,
-durtn : duration ?,
-inter : interval,
-dt : date ?,
-tm : time,
-pt : point ?
-}
-
-write output to nc1:"rttest/dml_create-drop-opntype.adm"; 
-
-for $l in dataset('Metadata.Datatype')
-where $l.DatatypeName = 'TestType'
-return $l
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/create-drop-opntype/create-drop-opntype.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/create-drop-opntype/create-drop-opntype.3.query.aql
index 0ef6e93..b9e4f88 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/create-drop-opntype/create-drop-opntype.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/create-drop-opntype/create-drop-opntype.3.query.aql
@@ -5,36 +5,8 @@
  * Expected Res : Success
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type TestType as open {
-id : int32,
-salary : double ?,
-name : string,
-durtn : duration ?,
-inter : interval,
-dt : date ?,
-tm : time,
-pt : point ?
-}
-
-drop type TestType;
-
-create type TestType as open {
-id : int32,
-salary : double ?,
-name : string,
-durtn : duration ?,
-inter : interval,
-dt : date ?,
-tm : time,
-pt : point ?
-}
-
-write output to nc1:"rttest/dml_create-drop-opntype.adm"; 
-
 for $l in dataset('Metadata.Datatype')
 where $l.DatatypeName = 'TestType'
 return $l
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/delete-from-loaded-dataset-with-index/delete-from-loaded-dataset-with-index.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/delete-from-loaded-dataset-with-index/delete-from-loaded-dataset-with-index.1.ddl.aql
index e642073..38a20e6 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/delete-from-loaded-dataset-with-index/delete-from-loaded-dataset-with-index.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/delete-from-loaded-dataset-with-index/delete-from-loaded-dataset-with-index.1.ddl.aql
@@ -1,6 +1,5 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type LineItemType as closed {
   l_orderkey: int32, 
@@ -21,20 +20,3 @@
   l_comment: string
 }
 
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-create index idx_LineItem_partkey on LineItem(l_linenumber);
-create index idx_LineItem_suppkey on LineItem(l_suppkey);
-
-delete $l from dataset LineItem where $l.l_suppkey>=2 or $l.l_linenumber>1;
-
-write output to nc1:"rttest/dml_delete-from-loaded-dataset-with-index.adm";      
-for $c in dataset('LineItem')
-where $c.l_suppkey<150
-order by $c.l_orderkey, $c.l_linenumber
-return $c
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/delete-from-loaded-dataset-with-index/delete-from-loaded-dataset-with-index.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/delete-from-loaded-dataset-with-index/delete-from-loaded-dataset-with-index.2.update.aql
index e642073..bffc484 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/delete-from-loaded-dataset-with-index/delete-from-loaded-dataset-with-index.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/delete-from-loaded-dataset-with-index/delete-from-loaded-dataset-with-index.2.update.aql
@@ -1,26 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
 create dataset LineItem(LineItemType)
   primary key l_orderkey, l_linenumber;
 
@@ -32,9 +11,3 @@
 create index idx_LineItem_suppkey on LineItem(l_suppkey);
 
 delete $l from dataset LineItem where $l.l_suppkey>=2 or $l.l_linenumber>1;
-
-write output to nc1:"rttest/dml_delete-from-loaded-dataset-with-index.adm";      
-for $c in dataset('LineItem')
-where $c.l_suppkey<150
-order by $c.l_orderkey, $c.l_linenumber
-return $c
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/delete-from-loaded-dataset-with-index/delete-from-loaded-dataset-with-index.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/delete-from-loaded-dataset-with-index/delete-from-loaded-dataset-with-index.3.query.aql
index e642073..69912f9 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/delete-from-loaded-dataset-with-index/delete-from-loaded-dataset-with-index.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/delete-from-loaded-dataset-with-index/delete-from-loaded-dataset-with-index.3.query.aql
@@ -1,39 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-create index idx_LineItem_partkey on LineItem(l_linenumber);
-create index idx_LineItem_suppkey on LineItem(l_suppkey);
-
-delete $l from dataset LineItem where $l.l_suppkey>=2 or $l.l_linenumber>1;
-
-write output to nc1:"rttest/dml_delete-from-loaded-dataset-with-index.adm";      
+     
 for $c in dataset('LineItem')
 where $c.l_suppkey<150
 order by $c.l_orderkey, $c.l_linenumber
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/delete-from-loaded-dataset/delete-from-loaded-dataset.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/delete-from-loaded-dataset/delete-from-loaded-dataset.1.ddl.aql
index ff66d65..38a20e6 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/delete-from-loaded-dataset/delete-from-loaded-dataset.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/delete-from-loaded-dataset/delete-from-loaded-dataset.1.ddl.aql
@@ -1,6 +1,5 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type LineItemType as closed {
   l_orderkey: int32, 
@@ -21,16 +20,3 @@
   l_comment: string
 }
 
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-delete $l from dataset LineItem where $l.l_orderkey>=10;
-
-write output to nc1:"rttest/dml_delete-from-loaded-dataset.adm";      
-for $c in dataset('LineItem')
-order by $c.l_orderkey, $c.l_linenumber
-return $c 
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/delete-from-loaded-dataset/delete-from-loaded-dataset.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/delete-from-loaded-dataset/delete-from-loaded-dataset.2.update.aql
index ff66d65..39886c5 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/delete-from-loaded-dataset/delete-from-loaded-dataset.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/delete-from-loaded-dataset/delete-from-loaded-dataset.2.update.aql
@@ -1,26 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
 create dataset LineItem(LineItemType)
   primary key l_orderkey, l_linenumber;
 
@@ -30,7 +9,3 @@
 
 delete $l from dataset LineItem where $l.l_orderkey>=10;
 
-write output to nc1:"rttest/dml_delete-from-loaded-dataset.adm";      
-for $c in dataset('LineItem')
-order by $c.l_orderkey, $c.l_linenumber
-return $c 
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/delete-from-loaded-dataset/delete-from-loaded-dataset.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/delete-from-loaded-dataset/delete-from-loaded-dataset.3.query.aql
index ff66d65..877796c 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/delete-from-loaded-dataset/delete-from-loaded-dataset.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/delete-from-loaded-dataset/delete-from-loaded-dataset.3.query.aql
@@ -1,36 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-delete $l from dataset LineItem where $l.l_orderkey>=10;
-
-write output to nc1:"rttest/dml_delete-from-loaded-dataset.adm";      
+  
 for $c in dataset('LineItem')
 order by $c.l_orderkey, $c.l_linenumber
 return $c 
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/drop-empty-secondary-indexes/drop-empty-secondary-indexes.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/drop-empty-secondary-indexes/drop-empty-secondary-indexes.1.ddl.aql
index b25f028..ae1d53f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/drop-empty-secondary-indexes/drop-empty-secondary-indexes.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/drop-empty-secondary-indexes/drop-empty-secondary-indexes.1.ddl.aql
@@ -7,7 +7,6 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type TestType as open {
 id : int32,
@@ -16,22 +15,3 @@
 zip : string
 }
 
-write output to nc1:"rttest/dml_drop-empty-secondary-indexes.adm";
-
-create dataset t1(TestType) primary key id;
-
-create index rtree_index_point on t1(locn) type rtree;
-
-create index keyWD_indx on t1(name) type keyword;
-
-create index secndIndx on t1(zip);
-
-drop index t1.rtree_index_point;
-
-drop index t1.keyWD_indx;
-
-drop index t1.secndIndx;
-
-for $l in dataset('Metadata.Index')
-where $l.IsPrimary=false
-return $l;
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/drop-empty-secondary-indexes/drop-empty-secondary-indexes.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/drop-empty-secondary-indexes/drop-empty-secondary-indexes.2.update.aql
index b25f028..dfd013c 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/drop-empty-secondary-indexes/drop-empty-secondary-indexes.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/drop-empty-secondary-indexes/drop-empty-secondary-indexes.2.update.aql
@@ -5,19 +5,8 @@
  *
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type TestType as open {
-id : int32,
-name : string,
-locn : point,
-zip : string
-}
-
-write output to nc1:"rttest/dml_drop-empty-secondary-indexes.adm";
-
 create dataset t1(TestType) primary key id;
 
 create index rtree_index_point on t1(locn) type rtree;
@@ -32,6 +21,3 @@
 
 drop index t1.secndIndx;
 
-for $l in dataset('Metadata.Index')
-where $l.IsPrimary=false
-return $l;
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/drop-empty-secondary-indexes/drop-empty-secondary-indexes.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/drop-empty-secondary-indexes/drop-empty-secondary-indexes.3.query.aql
index b25f028..35dc1b2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/drop-empty-secondary-indexes/drop-empty-secondary-indexes.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/drop-empty-secondary-indexes/drop-empty-secondary-indexes.3.query.aql
@@ -5,33 +5,8 @@
  *
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type TestType as open {
-id : int32,
-name : string,
-locn : point,
-zip : string
-}
-
-write output to nc1:"rttest/dml_drop-empty-secondary-indexes.adm";
-
-create dataset t1(TestType) primary key id;
-
-create index rtree_index_point on t1(locn) type rtree;
-
-create index keyWD_indx on t1(name) type keyword;
-
-create index secndIndx on t1(zip);
-
-drop index t1.rtree_index_point;
-
-drop index t1.keyWD_indx;
-
-drop index t1.secndIndx;
-
 for $l in dataset('Metadata.Index')
 where $l.IsPrimary=false
 return $l;
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/drop-index/drop-index.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/drop-index/drop-index.1.ddl.aql
index 8b99487..57a09a2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/drop-index/drop-index.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/drop-index/drop-index.1.ddl.aql
@@ -7,7 +7,6 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type Schema as closed {
 unique1:  int32,
@@ -28,23 +27,3 @@
 string4:  string
 }
 
-create dataset t1(Schema) primary key unique2;
-
-// Load data
-load dataset t1
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/wisc/onektup.adm"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-// create secondary indexes
-create index idx_t1_str1 on t1(stringu1);
-create index idx_t1_unique1 on t1(unique1);
-
-// drop secondary indexes
-drop index t1.idx_t1_str1;
-drop index t1.idx_t1_unique1;
-
-write output to nc1:"rttest/dml_drop-index.adm";
-
-for $a in dataset('t1')
-where $a.unique1 > 10 and $a.stringu1="DGAAAAXXXXXXXXXXXXXXXXXXX"
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/drop-index/drop-index.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/drop-index/drop-index.2.update.aql
index 8b99487..a7162a2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/drop-index/drop-index.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/drop-index/drop-index.2.update.aql
@@ -5,29 +5,8 @@
  *
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type Schema as closed {
-unique1:  int32,
-unique2:  int32,
-two:  int32,
-four:  int32,
-ten:  int32,
-twenty:  int32,
-onePercent: int32,
-tenPercent:  int32,
-twentyPercent:  int32,
-fiftyPercent:  int32,
-unique3:  int32,
-evenOnePercent: int32,
-oddOnePercent:  int32,
-stringu1:  string,
-stringu2:  string,
-string4:  string
-}
-
 create dataset t1(Schema) primary key unique2;
 
 // Load data
@@ -43,8 +22,3 @@
 drop index t1.idx_t1_str1;
 drop index t1.idx_t1_unique1;
 
-write output to nc1:"rttest/dml_drop-index.adm";
-
-for $a in dataset('t1')
-where $a.unique1 > 10 and $a.stringu1="DGAAAAXXXXXXXXXXXXXXXXXXX"
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/drop-index/drop-index.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/drop-index/drop-index.3.query.aql
index 8b99487..81119b3 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/drop-index/drop-index.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/drop-index/drop-index.3.query.aql
@@ -5,46 +5,8 @@
  *
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type Schema as closed {
-unique1:  int32,
-unique2:  int32,
-two:  int32,
-four:  int32,
-ten:  int32,
-twenty:  int32,
-onePercent: int32,
-tenPercent:  int32,
-twentyPercent:  int32,
-fiftyPercent:  int32,
-unique3:  int32,
-evenOnePercent: int32,
-oddOnePercent:  int32,
-stringu1:  string,
-stringu2:  string,
-string4:  string
-}
-
-create dataset t1(Schema) primary key unique2;
-
-// Load data
-load dataset t1
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/wisc/onektup.adm"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-// create secondary indexes
-create index idx_t1_str1 on t1(stringu1);
-create index idx_t1_unique1 on t1(unique1);
-
-// drop secondary indexes
-drop index t1.idx_t1_str1;
-drop index t1.idx_t1_unique1;
-
-write output to nc1:"rttest/dml_drop-index.adm";
-
 for $a in dataset('t1')
 where $a.unique1 > 10 and $a.stringu1="DGAAAAXXXXXXXXXXXXXXXXXXX"
 return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/empty-load-with-index/empty-load-with-index.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/empty-load-with-index/empty-load-with-index.1.ddl.aql
index 45ec5e6..0d83da3 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/empty-load-with-index/empty-load-with-index.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/empty-load-with-index/empty-load-with-index.1.ddl.aql
@@ -7,7 +7,6 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type LineItemType as closed {
   l_orderkey: int32, 
@@ -28,21 +27,3 @@
   l_comment: string
 }
 
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-
-create index part_index on LineItem(l_partkey);
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/empty.adm"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/dml_empty-load-with-index.adm";      
-for $c in dataset('LineItem')
-order by $c.l_orderkey, $c.l_linenumber
-limit 1
-return $c
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/empty-load-with-index/empty-load-with-index.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/empty-load-with-index/empty-load-with-index.2.update.aql
index 45ec5e6..f570282 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/empty-load-with-index/empty-load-with-index.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/empty-load-with-index/empty-load-with-index.2.update.aql
@@ -5,28 +5,8 @@
  * Date            : May 2 2012
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: double, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
 
 create dataset LineItem(LineItemType)
   primary key l_orderkey, l_linenumber;
@@ -41,8 +21,3 @@
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
 
-write output to nc1:"rttest/dml_empty-load-with-index.adm";      
-for $c in dataset('LineItem')
-order by $c.l_orderkey, $c.l_linenumber
-limit 1
-return $c
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/empty-load-with-index/empty-load-with-index.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/empty-load-with-index/empty-load-with-index.3.query.aql
index 45ec5e6..5111256 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/empty-load-with-index/empty-load-with-index.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/empty-load-with-index/empty-load-with-index.3.query.aql
@@ -5,43 +5,8 @@
  * Date            : May 2 2012
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: double, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-
-create index part_index on LineItem(l_partkey);
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/empty.adm"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/dml_empty-load-with-index.adm";      
 for $c in dataset('LineItem')
 order by $c.l_orderkey, $c.l_linenumber
 limit 1
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/empty-load/empty-load.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/empty-load/empty-load.1.ddl.aql
index 63739d6..6d5b0aa 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/empty-load/empty-load.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/empty-load/empty-load.1.ddl.aql
@@ -7,7 +7,6 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type LineItemType as closed {
   l_orderkey: int32, 
@@ -28,21 +27,3 @@
   l_comment: string
 }
 
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-
-create index part_index on LineItem(l_partkey);
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/empty.adm"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/dml_empty-load.adm";      
-for $c in dataset('LineItem')
-order by $c.l_orderkey, $c.l_linenumber
-limit 1
-return $c
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/empty-load/empty-load.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/empty-load/empty-load.2.update.aql
index 63739d6..65ebe26 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/empty-load/empty-load.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/empty-load/empty-load.2.update.aql
@@ -5,28 +5,8 @@
  * Date            : May 2 2012
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: double, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
 
 create dataset LineItem(LineItemType)
   primary key l_orderkey, l_linenumber;
@@ -41,8 +21,3 @@
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
 
-write output to nc1:"rttest/dml_empty-load.adm";      
-for $c in dataset('LineItem')
-order by $c.l_orderkey, $c.l_linenumber
-limit 1
-return $c
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/empty-load/empty-load.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/empty-load/empty-load.3.query.aql
index 63739d6..bb4cac6 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/empty-load/empty-load.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/empty-load/empty-load.3.query.aql
@@ -5,43 +5,8 @@
  * Date            : May 2 2012
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: double, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-
-create index part_index on LineItem(l_partkey);
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/empty.adm"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/dml_empty-load.adm";      
 for $c in dataset('LineItem')
 order by $c.l_orderkey, $c.l_linenumber
 limit 1
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-empty-dataset-with-index/insert-into-empty-dataset-with-index.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-empty-dataset-with-index/insert-into-empty-dataset-with-index.1.ddl.aql
index 586226c..250bd43 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-empty-dataset-with-index/insert-into-empty-dataset-with-index.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-empty-dataset-with-index/insert-into-empty-dataset-with-index.1.ddl.aql
@@ -7,7 +7,6 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type LineIDType as closed {
   l_orderkey: int32, 
@@ -15,36 +14,3 @@
   l_suppkey: int32
 }
 
-create dataset LineID(LineIDType)
-  primary key l_orderkey, l_linenumber;
-
-create index idx_LineID_partkey on LineID(l_linenumber);
-create index idx_LineID_suppkey on LineID(l_suppkey);
-
-insert into dataset LineID (
-let $x:=1
-let $y:=2
-let $z:=3
-return {
-	"l_orderkey": $x,
-	"l_linenumber": $y,
-	"l_suppkey": $z
-}
-);
-
-insert into dataset LineID (
-let $x:=2
-let $y:=3
-let $z:=4
-return {
-	"l_orderkey": $x,
-	"l_linenumber": $y,
-	"l_suppkey": $z
-}
-);
-
-write output to nc1:"rttest/dml_insert-into-empty-dataset-with-index.adm";      
-for $c in dataset('LineID')
-where $c.l_suppkey < 100 and $c.l_linenumber<5
-order by $c.l_orderkey, $c.l_linenumber
-return $c 
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-empty-dataset-with-index/insert-into-empty-dataset-with-index.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-empty-dataset-with-index/insert-into-empty-dataset-with-index.2.update.aql
index 586226c..bf160bb 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-empty-dataset-with-index/insert-into-empty-dataset-with-index.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-empty-dataset-with-index/insert-into-empty-dataset-with-index.2.update.aql
@@ -5,16 +5,8 @@
  * Date            : May 2 2012
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type LineIDType as closed {
-  l_orderkey: int32, 
-  l_linenumber: int32, 
-  l_suppkey: int32
-}
-
 create dataset LineID(LineIDType)
   primary key l_orderkey, l_linenumber;
 
@@ -43,8 +35,3 @@
 }
 );
 
-write output to nc1:"rttest/dml_insert-into-empty-dataset-with-index.adm";      
-for $c in dataset('LineID')
-where $c.l_suppkey < 100 and $c.l_linenumber<5
-order by $c.l_orderkey, $c.l_linenumber
-return $c 
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-empty-dataset-with-index/insert-into-empty-dataset-with-index.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-empty-dataset-with-index/insert-into-empty-dataset-with-index.3.query.aql
index 586226c..6b0c506 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-empty-dataset-with-index/insert-into-empty-dataset-with-index.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-empty-dataset-with-index/insert-into-empty-dataset-with-index.3.query.aql
@@ -5,45 +5,8 @@
  * Date            : May 2 2012
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
-
-create type LineIDType as closed {
-  l_orderkey: int32, 
-  l_linenumber: int32, 
-  l_suppkey: int32
-}
-
-create dataset LineID(LineIDType)
-  primary key l_orderkey, l_linenumber;
-
-create index idx_LineID_partkey on LineID(l_linenumber);
-create index idx_LineID_suppkey on LineID(l_suppkey);
-
-insert into dataset LineID (
-let $x:=1
-let $y:=2
-let $z:=3
-return {
-	"l_orderkey": $x,
-	"l_linenumber": $y,
-	"l_suppkey": $z
-}
-);
-
-insert into dataset LineID (
-let $x:=2
-let $y:=3
-let $z:=4
-return {
-	"l_orderkey": $x,
-	"l_linenumber": $y,
-	"l_suppkey": $z
-}
-);
-
-write output to nc1:"rttest/dml_insert-into-empty-dataset-with-index.adm";      
+   
 for $c in dataset('LineID')
 where $c.l_suppkey < 100 and $c.l_linenumber<5
 order by $c.l_orderkey, $c.l_linenumber
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-empty-dataset/insert-into-empty-dataset.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-empty-dataset/insert-into-empty-dataset.1.ddl.aql
index 58548b6..f6f7435 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-empty-dataset/insert-into-empty-dataset.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-empty-dataset/insert-into-empty-dataset.1.ddl.aql
@@ -7,7 +7,6 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type LineIDType as closed {
   l_orderkey: int32, 
@@ -15,33 +14,3 @@
   l_suppkey: int32
 }
 
-create dataset LineID(LineIDType)
-  primary key l_orderkey, l_linenumber;
-
-insert into dataset LineID (
-let $x:=1
-let $y:=2
-let $z:=3
-return {
-	"l_orderkey": $x,
-	"l_linenumber": $y,
-	"l_suppkey": $z
-}
-);
-
-insert into dataset LineID (
-let $x:=2
-let $y:=3
-let $z:=4
-return {
-	"l_orderkey": $x,
-	"l_linenumber": $y,
-	"l_suppkey": $z
-}
-);
-
-write output to nc1:"rttest/dml_insert-into-empty-dataset.adm";      
-for $c in dataset('LineID')
-where $c.l_suppkey < 100 and $c.l_linenumber<5
-order by $c.l_orderkey, $c.l_linenumber
-return $c 
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-empty-dataset/insert-into-empty-dataset.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-empty-dataset/insert-into-empty-dataset.2.update.aql
index 58548b6..376f1d8 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-empty-dataset/insert-into-empty-dataset.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-empty-dataset/insert-into-empty-dataset.2.update.aql
@@ -5,16 +5,8 @@
  * Date            : May 2 2012
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type LineIDType as closed {
-  l_orderkey: int32, 
-  l_linenumber: int32, 
-  l_suppkey: int32
-}
-
 create dataset LineID(LineIDType)
   primary key l_orderkey, l_linenumber;
 
@@ -40,8 +32,3 @@
 }
 );
 
-write output to nc1:"rttest/dml_insert-into-empty-dataset.adm";      
-for $c in dataset('LineID')
-where $c.l_suppkey < 100 and $c.l_linenumber<5
-order by $c.l_orderkey, $c.l_linenumber
-return $c 
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-empty-dataset/insert-into-empty-dataset.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-empty-dataset/insert-into-empty-dataset.3.query.aql
index 58548b6..42b98e5 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-empty-dataset/insert-into-empty-dataset.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-empty-dataset/insert-into-empty-dataset.3.query.aql
@@ -5,42 +5,8 @@
  * Date            : May 2 2012
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type LineIDType as closed {
-  l_orderkey: int32, 
-  l_linenumber: int32, 
-  l_suppkey: int32
-}
-
-create dataset LineID(LineIDType)
-  primary key l_orderkey, l_linenumber;
-
-insert into dataset LineID (
-let $x:=1
-let $y:=2
-let $z:=3
-return {
-	"l_orderkey": $x,
-	"l_linenumber": $y,
-	"l_suppkey": $z
-}
-);
-
-insert into dataset LineID (
-let $x:=2
-let $y:=3
-let $z:=4
-return {
-	"l_orderkey": $x,
-	"l_linenumber": $y,
-	"l_suppkey": $z
-}
-);
-
-write output to nc1:"rttest/dml_insert-into-empty-dataset.adm";      
 for $c in dataset('LineID')
 where $c.l_suppkey < 100 and $c.l_linenumber<5
 order by $c.l_orderkey, $c.l_linenumber
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset-with-index_01/insert-into-loaded-dataset-with-index_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset-with-index_01/insert-into-loaded-dataset-with-index_01.1.ddl.aql
index 761066e..e58236a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset-with-index_01/insert-into-loaded-dataset-with-index_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset-with-index_01/insert-into-loaded-dataset-with-index_01.1.ddl.aql
@@ -1,6 +1,5 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type LineIDType as closed {
   l_orderkey: int32, 
@@ -8,40 +7,4 @@
   l_suppkey: int32
 }
 
-create dataset LineID(LineIDType)
-  primary key l_orderkey, l_linenumber;
 
-load dataset LineID 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem_0.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-create index idx_LineID_partkey on LineID(l_linenumber);
-create index idx_LineID_suppkey on LineID(l_suppkey);
-
-insert into dataset LineID (
-let $x:=1
-let $y:=2
-let $z:=3
-return {
-	"l_orderkey": $x,
-	"l_linenumber": $y,
-	"l_suppkey": $z
-}
-);
-
-insert into dataset LineID (
-let $x:=2
-let $y:=3
-let $z:=4
-return {
-	"l_orderkey": $x,
-	"l_linenumber": $y,
-	"l_suppkey": $z
-}
-);
-
-write output to nc1:"rttest/dml_insert-into-loaded-dataset-with-index_01.adm";      
-for $c in dataset('LineID')
-where $c.l_suppkey = 3 and $c.l_linenumber=2
-order by $c.l_orderkey, $c.l_linenumber
-return $c 
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset-with-index_01/insert-into-loaded-dataset-with-index_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset-with-index_01/insert-into-loaded-dataset-with-index_01.2.update.aql
index 761066e..4ce7bc8 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset-with-index_01/insert-into-loaded-dataset-with-index_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset-with-index_01/insert-into-loaded-dataset-with-index_01.2.update.aql
@@ -1,13 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type LineIDType as closed {
-  l_orderkey: int32, 
-  l_linenumber: int32, 
-  l_suppkey: int32
-}
-
 create dataset LineID(LineIDType)
   primary key l_orderkey, l_linenumber;
 
@@ -40,8 +32,3 @@
 }
 );
 
-write output to nc1:"rttest/dml_insert-into-loaded-dataset-with-index_01.adm";      
-for $c in dataset('LineID')
-where $c.l_suppkey = 3 and $c.l_linenumber=2
-order by $c.l_orderkey, $c.l_linenumber
-return $c 
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset-with-index_01/insert-into-loaded-dataset-with-index_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset-with-index_01/insert-into-loaded-dataset-with-index_01.3.query.aql
index 761066e..38729c6 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset-with-index_01/insert-into-loaded-dataset-with-index_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset-with-index_01/insert-into-loaded-dataset-with-index_01.3.query.aql
@@ -1,46 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
-
-create type LineIDType as closed {
-  l_orderkey: int32, 
-  l_linenumber: int32, 
-  l_suppkey: int32
-}
-
-create dataset LineID(LineIDType)
-  primary key l_orderkey, l_linenumber;
-
-load dataset LineID 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem_0.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-create index idx_LineID_partkey on LineID(l_linenumber);
-create index idx_LineID_suppkey on LineID(l_suppkey);
-
-insert into dataset LineID (
-let $x:=1
-let $y:=2
-let $z:=3
-return {
-	"l_orderkey": $x,
-	"l_linenumber": $y,
-	"l_suppkey": $z
-}
-);
-
-insert into dataset LineID (
-let $x:=2
-let $y:=3
-let $z:=4
-return {
-	"l_orderkey": $x,
-	"l_linenumber": $y,
-	"l_suppkey": $z
-}
-);
-
-write output to nc1:"rttest/dml_insert-into-loaded-dataset-with-index_01.adm";      
+   
 for $c in dataset('LineID')
 where $c.l_suppkey = 3 and $c.l_linenumber=2
 order by $c.l_orderkey, $c.l_linenumber
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset-with-index_02/insert-into-loaded-dataset-with-index_02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset-with-index_02/insert-into-loaded-dataset-with-index_02.1.ddl.aql
index 475e6ab..a2c0c83 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset-with-index_02/insert-into-loaded-dataset-with-index_02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset-with-index_02/insert-into-loaded-dataset-with-index_02.1.ddl.aql
@@ -1,6 +1,5 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type LineItemType as closed {
   l_orderkey: int32, 
@@ -27,37 +26,3 @@
   l_suppkey: int32
 }
 
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-
-create dataset LineID(LineIDType)
-  primary key l_orderkey, l_linenumber;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset LineID 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem_0.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-create index idx_LineID_partkey on LineID(l_linenumber);
-create index idx_LineID_suppkey on LineID(l_suppkey);
-
-insert into dataset LineID (
-for $l in dataset('LineItem')
-	where $l.l_orderkey<10
-	return {
-		"l_orderkey": $l.l_orderkey,
-		"l_linenumber": $l.l_linenumber,
-		"l_suppkey": $l.l_partkey
-	}
-);
-
-write output to nc1:"rttest/dml_insert-into-loaded-dataset-with-index_02.adm";      
-
-for $c in dataset('LineID')
-where $c.l_suppkey < 100 and $c.l_linenumber<5
-order by $c.l_orderkey, $c.l_linenumber
-return $c 
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset-with-index_02/insert-into-loaded-dataset-with-index_02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset-with-index_02/insert-into-loaded-dataset-with-index_02.2.update.aql
index 475e6ab..110fc09 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset-with-index_02/insert-into-loaded-dataset-with-index_02.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset-with-index_02/insert-into-loaded-dataset-with-index_02.2.update.aql
@@ -1,32 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: double, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type LineIDType as closed {
-  l_orderkey: int32, 
-  l_linenumber: int32, 
-  l_suppkey: int32
-}
-
 create dataset LineItem(LineItemType)
   primary key l_orderkey, l_linenumber;
 
@@ -54,10 +27,3 @@
 	}
 );
 
-write output to nc1:"rttest/dml_insert-into-loaded-dataset-with-index_02.adm";      
-
-for $c in dataset('LineID')
-where $c.l_suppkey < 100 and $c.l_linenumber<5
-order by $c.l_orderkey, $c.l_linenumber
-return $c 
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset-with-index_02/insert-into-loaded-dataset-with-index_02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset-with-index_02/insert-into-loaded-dataset-with-index_02.3.query.aql
index 475e6ab..7db0021 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset-with-index_02/insert-into-loaded-dataset-with-index_02.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset-with-index_02/insert-into-loaded-dataset-with-index_02.3.query.aql
@@ -1,61 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: double, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type LineIDType as closed {
-  l_orderkey: int32, 
-  l_linenumber: int32, 
-  l_suppkey: int32
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-
-create dataset LineID(LineIDType)
-  primary key l_orderkey, l_linenumber;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset LineID 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem_0.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-create index idx_LineID_partkey on LineID(l_linenumber);
-create index idx_LineID_suppkey on LineID(l_suppkey);
-
-insert into dataset LineID (
-for $l in dataset('LineItem')
-	where $l.l_orderkey<10
-	return {
-		"l_orderkey": $l.l_orderkey,
-		"l_linenumber": $l.l_linenumber,
-		"l_suppkey": $l.l_partkey
-	}
-);
-
-write output to nc1:"rttest/dml_insert-into-loaded-dataset-with-index_02.adm";      
-
 for $c in dataset('LineID')
 where $c.l_suppkey < 100 and $c.l_linenumber<5
 order by $c.l_orderkey, $c.l_linenumber
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset_01/insert-into-loaded-dataset_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset_01/insert-into-loaded-dataset_01.1.ddl.aql
index 7ece2ab..f13e658 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset_01/insert-into-loaded-dataset_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset_01/insert-into-loaded-dataset_01.1.ddl.aql
@@ -1,6 +1,5 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type LineIDType as closed {
   l_orderkey: int32, 
@@ -8,37 +7,3 @@
   l_suppkey: int32
 }
 
-create dataset LineID(LineIDType)
-  primary key l_orderkey, l_linenumber;
-
-load dataset LineID 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem_0.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-insert into dataset LineID (
-let $x:=1
-let $y:=2
-let $z:=3
-return {
-	"l_orderkey": $x,
-	"l_linenumber": $y,
-	"l_suppkey": $z
-}
-);
-
-insert into dataset LineID (
-let $x:=2
-let $y:=3
-let $z:=4
-return {
-	"l_orderkey": $x,
-	"l_linenumber": $y,
-	"l_suppkey": $z
-}
-);
-
-write output to nc1:"rttest/dml_insert-into-loaded-dataset_01.adm";      
-for $c in dataset('LineID')
-where $c.l_suppkey < 100 and $c.l_linenumber<5
-order by $c.l_orderkey, $c.l_linenumber
-return $c 
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset_01/insert-into-loaded-dataset_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset_01/insert-into-loaded-dataset_01.2.update.aql
index 7ece2ab..d9169d2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset_01/insert-into-loaded-dataset_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset_01/insert-into-loaded-dataset_01.2.update.aql
@@ -1,13 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type LineIDType as closed {
-  l_orderkey: int32, 
-  l_linenumber: int32, 
-  l_suppkey: int32
-}
-
 create dataset LineID(LineIDType)
   primary key l_orderkey, l_linenumber;
 
@@ -37,8 +29,3 @@
 }
 );
 
-write output to nc1:"rttest/dml_insert-into-loaded-dataset_01.adm";      
-for $c in dataset('LineID')
-where $c.l_suppkey < 100 and $c.l_linenumber<5
-order by $c.l_orderkey, $c.l_linenumber
-return $c 
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset_01/insert-into-loaded-dataset_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset_01/insert-into-loaded-dataset_01.3.query.aql
index 7ece2ab..dab8406 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset_01/insert-into-loaded-dataset_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset_01/insert-into-loaded-dataset_01.3.query.aql
@@ -1,43 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type LineIDType as closed {
-  l_orderkey: int32, 
-  l_linenumber: int32, 
-  l_suppkey: int32
-}
-
-create dataset LineID(LineIDType)
-  primary key l_orderkey, l_linenumber;
-
-load dataset LineID 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem_0.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-insert into dataset LineID (
-let $x:=1
-let $y:=2
-let $z:=3
-return {
-	"l_orderkey": $x,
-	"l_linenumber": $y,
-	"l_suppkey": $z
-}
-);
-
-insert into dataset LineID (
-let $x:=2
-let $y:=3
-let $z:=4
-return {
-	"l_orderkey": $x,
-	"l_linenumber": $y,
-	"l_suppkey": $z
-}
-);
-
-write output to nc1:"rttest/dml_insert-into-loaded-dataset_01.adm";      
 for $c in dataset('LineID')
 where $c.l_suppkey < 100 and $c.l_linenumber<5
 order by $c.l_orderkey, $c.l_linenumber
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset_02/insert-into-loaded-dataset_02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset_02/insert-into-loaded-dataset_02.1.ddl.aql
index f05844b..955414a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset_02/insert-into-loaded-dataset_02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset_02/insert-into-loaded-dataset_02.1.ddl.aql
@@ -1,6 +1,5 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type Schema as closed {
 unique1:  int32,
@@ -21,31 +20,3 @@
 string4:  string
 }
 
-create dataset onektup(Schema) primary key unique2;
-
-create dataset tenktup1(Schema) primary key unique2;
-
-load dataset onektup 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/wisc/onektup.adm"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset tenktup1 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/wisc/tenktup.adm"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-create dataset tmp(Schema) primary key unique2;
-
-load dataset tmp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/wisc/empty.adm"),("format"="adm")) pre-sorted;
-
-insert into dataset tmp(
-for $l in dataset('tenktup1')
-where $l.unique2 > 0 and $l.unique2 < 99
-return $l
-);
-
-write output to nc1:"rttest/dml_insert-into-loaded-dataset_02.adm";      
-for $t in dataset('tmp')
-order by $t.unique2
-return $t
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset_02/insert-into-loaded-dataset_02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset_02/insert-into-loaded-dataset_02.2.update.aql
index f05844b..9892df6 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset_02/insert-into-loaded-dataset_02.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset_02/insert-into-loaded-dataset_02.2.update.aql
@@ -1,26 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type Schema as closed {
-unique1:  int32,
-unique2:  int32,
-two:  int32,
-four:  int32,
-ten:  int32,
-twenty:  int32,
-onePercent: int32,
-tenPercent:  int32,
-twentyPercent:  int32,
-fiftyPercent:  int32,
-unique3:  int32,
-evenOnePercent: int32,
-oddOnePercent:  int32,
-stringu1:  string,
-stringu2:  string,
-string4:  string
-}
-
 create dataset onektup(Schema) primary key unique2;
 
 create dataset tenktup1(Schema) primary key unique2;
@@ -45,7 +24,3 @@
 return $l
 );
 
-write output to nc1:"rttest/dml_insert-into-loaded-dataset_02.adm";      
-for $t in dataset('tmp')
-order by $t.unique2
-return $t
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset_02/insert-into-loaded-dataset_02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset_02/insert-into-loaded-dataset_02.3.query.aql
index f05844b..e25b473 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset_02/insert-into-loaded-dataset_02.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset_02/insert-into-loaded-dataset_02.3.query.aql
@@ -1,51 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type Schema as closed {
-unique1:  int32,
-unique2:  int32,
-two:  int32,
-four:  int32,
-ten:  int32,
-twenty:  int32,
-onePercent: int32,
-tenPercent:  int32,
-twentyPercent:  int32,
-fiftyPercent:  int32,
-unique3:  int32,
-evenOnePercent: int32,
-oddOnePercent:  int32,
-stringu1:  string,
-stringu2:  string,
-string4:  string
-}
-
-create dataset onektup(Schema) primary key unique2;
-
-create dataset tenktup1(Schema) primary key unique2;
-
-load dataset onektup 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/wisc/onektup.adm"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset tenktup1 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/wisc/tenktup.adm"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-create dataset tmp(Schema) primary key unique2;
-
-load dataset tmp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/wisc/empty.adm"),("format"="adm")) pre-sorted;
-
-insert into dataset tmp(
-for $l in dataset('tenktup1')
-where $l.unique2 > 0 and $l.unique2 < 99
-return $l
-);
-
-write output to nc1:"rttest/dml_insert-into-loaded-dataset_02.adm";      
 for $t in dataset('tmp')
 order by $t.unique2
 return $t
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/insert-src-dst-01/insert-src-dst-01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/insert-src-dst-01/insert-src-dst-01.1.ddl.aql
index 7c055f7..a116b68 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/insert-src-dst-01/insert-src-dst-01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/insert-src-dst-01/insert-src-dst-01.1.ddl.aql
@@ -7,9 +7,6 @@
 
 drop dataverse testdv2 if exists;
 create dataverse testdv2;
-use dataverse testdv2;
-
-write output to nc1:"rttest/dml_insert-src-dst-01.adm";
 
 create type testtype01 as closed {
   id: string,
@@ -20,21 +17,3 @@
   id: string
 }
 
-create dataset testds01(testtype01) primary key id;
-create dataset testds02(testtype02) primary key id;
-
-insert into dataset testds01 ({ "id": "001" });
-insert into dataset testds01 ({ "id": "002", "name": "John Doe" });
-
-insert into dataset testds02 ({ "id": "003" });
-insert into dataset testds02 ({ "id": "004" });
-insert into dataset testds02 ({ "id": "005" });
-
-insert into dataset testds01(
-for $d in dataset("testds02")
-return $d
-);
-
-for $d in dataset("testds01")
-order by $d.id
-return $d
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/insert-src-dst-01/insert-src-dst-01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/insert-src-dst-01/insert-src-dst-01.2.update.aql
index 7c055f7..e719626 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/insert-src-dst-01/insert-src-dst-01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/insert-src-dst-01/insert-src-dst-01.2.update.aql
@@ -5,21 +5,8 @@
  * Issue #         : Issue 76
  */
 
-drop dataverse testdv2 if exists;
-create dataverse testdv2;
 use dataverse testdv2;
 
-write output to nc1:"rttest/dml_insert-src-dst-01.adm";
-
-create type testtype01 as closed {
-  id: string,
-  name: string?
-}
-
-create type testtype02 as closed {
-  id: string
-}
-
 create dataset testds01(testtype01) primary key id;
 create dataset testds02(testtype02) primary key id;
 
@@ -35,6 +22,3 @@
 return $d
 );
 
-for $d in dataset("testds01")
-order by $d.id
-return $d
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/insert-src-dst-01/insert-src-dst-01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/insert-src-dst-01/insert-src-dst-01.3.query.aql
index 7c055f7..25483b8 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/insert-src-dst-01/insert-src-dst-01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/insert-src-dst-01/insert-src-dst-01.3.query.aql
@@ -5,36 +5,8 @@
  * Issue #         : Issue 76
  */
 
-drop dataverse testdv2 if exists;
-create dataverse testdv2;
 use dataverse testdv2;
 
-write output to nc1:"rttest/dml_insert-src-dst-01.adm";
-
-create type testtype01 as closed {
-  id: string,
-  name: string?
-}
-
-create type testtype02 as closed {
-  id: string
-}
-
-create dataset testds01(testtype01) primary key id;
-create dataset testds02(testtype02) primary key id;
-
-insert into dataset testds01 ({ "id": "001" });
-insert into dataset testds01 ({ "id": "002", "name": "John Doe" });
-
-insert into dataset testds02 ({ "id": "003" });
-insert into dataset testds02 ({ "id": "004" });
-insert into dataset testds02 ({ "id": "005" });
-
-insert into dataset testds01(
-for $d in dataset("testds02")
-return $d
-);
-
 for $d in dataset("testds01")
 order by $d.id
 return $d
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/insert/insert.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/insert/insert.1.ddl.aql
index a0d4d5b..4441459 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/insert/insert.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/insert/insert.1.ddl.aql
@@ -1,6 +1,5 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type LineItemType as closed {
   l_orderkey: int32, 
@@ -27,33 +26,4 @@
   l_suppkey: int32
 }
 
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-
-create dataset LineID(LineIDType)
-  primary key l_orderkey, l_linenumber;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset LineID 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem_0.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-
-insert into dataset LineID (
-for $l in dataset('LineItem')
-	where $l.l_orderkey<10
-	return {
-		"l_orderkey": $l.l_orderkey,
-		"l_linenumber": $l.l_linenumber,
-		"l_suppkey": $l.l_partkey
-	}
-);
-
-write output to nc1:"rttest/dml_insert.adm";      
-for $c in dataset('LineID')
-order by $c.l_orderkey, $c.l_linenumber
-return $c 
 
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/insert/insert.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/insert/insert.2.update.aql
index a0d4d5b..5e3988f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/insert/insert.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/insert/insert.2.update.aql
@@ -1,32 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: double, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type LineIDType as closed {
-  l_orderkey: int32, 
-  l_linenumber: int32, 
-  l_suppkey: int32
-}
-
 create dataset LineItem(LineItemType)
   primary key l_orderkey, l_linenumber;
 
@@ -52,8 +25,3 @@
 	}
 );
 
-write output to nc1:"rttest/dml_insert.adm";      
-for $c in dataset('LineID')
-order by $c.l_orderkey, $c.l_linenumber
-return $c 
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/insert/insert.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/insert/insert.3.query.aql
index a0d4d5b..ee28306 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/insert/insert.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/insert/insert.3.query.aql
@@ -1,58 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: double, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type LineIDType as closed {
-  l_orderkey: int32, 
-  l_linenumber: int32, 
-  l_suppkey: int32
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-
-create dataset LineID(LineIDType)
-  primary key l_orderkey, l_linenumber;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset LineID 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem_0.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-
-insert into dataset LineID (
-for $l in dataset('LineItem')
-	where $l.l_orderkey<10
-	return {
-		"l_orderkey": $l.l_orderkey,
-		"l_linenumber": $l.l_linenumber,
-		"l_suppkey": $l.l_partkey
-	}
-);
-
-write output to nc1:"rttest/dml_insert.adm";      
+     
 for $c in dataset('LineID')
 order by $c.l_orderkey, $c.l_linenumber
 return $c 
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/insert_less_nc/insert_less_nc.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/insert_less_nc/insert_less_nc.1.ddl.aql
index c646c4c..a2c0c83 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/insert_less_nc/insert_less_nc.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/insert_less_nc/insert_less_nc.1.ddl.aql
@@ -1,6 +1,5 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type LineItemType as closed {
   l_orderkey: int32, 
@@ -27,32 +26,3 @@
   l_suppkey: int32
 }
 
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-
-create dataset LineID(LineIDType)
-  primary key l_orderkey, l_linenumber;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset LineID 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem_0.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-insert into dataset LineID (
-for $l in dataset('LineItem')
-	where $l.l_orderkey<1000
-	return {
-		"l_orderkey": $l.l_orderkey,
-		"l_linenumber": $l.l_linenumber,
-		"l_suppkey": $l.l_partkey
-	}
-);
-
-write output to nc1:"rttest/dml_insert_less_nc.adm";      
-for $c in dataset('LineID')
-order by $c.l_orderkey, $c.l_linenumber
-return $c 
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/insert_less_nc/insert_less_nc.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/insert_less_nc/insert_less_nc.2.update.aql
index c646c4c..1aa8827 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/insert_less_nc/insert_less_nc.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/insert_less_nc/insert_less_nc.2.update.aql
@@ -1,32 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: double, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type LineIDType as closed {
-  l_orderkey: int32, 
-  l_linenumber: int32, 
-  l_suppkey: int32
-}
-
 create dataset LineItem(LineItemType)
   primary key l_orderkey, l_linenumber;
 
@@ -51,8 +24,3 @@
 	}
 );
 
-write output to nc1:"rttest/dml_insert_less_nc.adm";      
-for $c in dataset('LineID')
-order by $c.l_orderkey, $c.l_linenumber
-return $c 
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/insert_less_nc/insert_less_nc.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/insert_less_nc/insert_less_nc.3.query.aql
index c646c4c..ee28306 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/insert_less_nc/insert_less_nc.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/insert_less_nc/insert_less_nc.3.query.aql
@@ -1,57 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: double, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type LineIDType as closed {
-  l_orderkey: int32, 
-  l_linenumber: int32, 
-  l_suppkey: int32
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-
-create dataset LineID(LineIDType)
-  primary key l_orderkey, l_linenumber;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset LineID 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem_0.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-insert into dataset LineID (
-for $l in dataset('LineItem')
-	where $l.l_orderkey<1000
-	return {
-		"l_orderkey": $l.l_orderkey,
-		"l_linenumber": $l.l_linenumber,
-		"l_suppkey": $l.l_partkey
-	}
-);
-
-write output to nc1:"rttest/dml_insert_less_nc.adm";      
+     
 for $c in dataset('LineID')
 order by $c.l_orderkey, $c.l_linenumber
 return $c 
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/oad-from-hdfs/oad-from-hdfs.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/oad-from-hdfs/oad-from-hdfs.2.update.aql
index 908f515..e5cf936 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/oad-from-hdfs/oad-from-hdfs.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/oad-from-hdfs/oad-from-hdfs.2.update.aql
@@ -1,26 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: double, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
 create dataset LineItem(LineItemType)
   primary key l_orderkey, l_linenumber;
 
@@ -29,8 +8,3 @@
 (("hdfs"="hdfs://localhost:10009"),("path"="/tpch/lineitem.tbl"),
 ("input-format"="text-input-format"),("format"="delimited-text"),("delimiter"="|"));
 
-write output to nc1:"rttest/dml_load-from-hdfs.adm";      
-for $c in dataset('LineItem')
-order by $c.l_orderkey, $c.l_linenumber
-return $c 
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/oad-from-hdfs/oad-from-hdfs.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/oad-from-hdfs/oad-from-hdfs.3.query.aql
index 908f515..d0f4290b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/oad-from-hdfs/oad-from-hdfs.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/oad-from-hdfs/oad-from-hdfs.3.query.aql
@@ -1,35 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: double, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.HDFSAdapter"
-(("hdfs"="hdfs://localhost:10009"),("path"="/tpch/lineitem.tbl"),
-("input-format"="text-input-format"),("format"="delimited-text"),("delimiter"="|"));
-
-write output to nc1:"rttest/dml_load-from-hdfs.adm";      
+    
 for $c in dataset('LineItem')
 order by $c.l_orderkey, $c.l_linenumber
 return $c 
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/oad-with-index/oad-with-index.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/oad-with-index/oad-with-index.1.ddl.aql
index 61b455c..1e8d083 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/oad-with-index/oad-with-index.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/oad-with-index/oad-with-index.1.ddl.aql
@@ -1,6 +1,5 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type LineItemType as closed {
   l_orderkey: int32, 
@@ -21,18 +20,3 @@
   l_comment: string
 }
 
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-
-create index idx_partkey on LineItem(l_partkey);
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/dml_load-with-index.adm";
-
-for $c in dataset('LineItem')
-where $c.l_partkey = 100
-order by $c.l_orderkey, $c.l_linenumber
-return $c 
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/oad-with-index/oad-with-index.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/oad-with-index/oad-with-index.2.update.aql
index 61b455c..4854e23 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/oad-with-index/oad-with-index.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/oad-with-index/oad-with-index.2.update.aql
@@ -1,26 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: double, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
 create dataset LineItem(LineItemType)
   primary key l_orderkey, l_linenumber;
 
@@ -30,9 +9,3 @@
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
 
-write output to nc1:"rttest/dml_load-with-index.adm";
-
-for $c in dataset('LineItem')
-where $c.l_partkey = 100
-order by $c.l_orderkey, $c.l_linenumber
-return $c 
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/oad-with-index/oad-with-index.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/oad-with-index/oad-with-index.3.query.aql
index 61b455c..862edf6 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/oad-with-index/oad-with-index.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/oad-with-index/oad-with-index.3.query.aql
@@ -1,37 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: double, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-
-create index idx_partkey on LineItem(l_partkey);
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/dml_load-with-index.adm";
-
 for $c in dataset('LineItem')
 where $c.l_partkey = 100
 order by $c.l_orderkey, $c.l_linenumber
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o-recursive/opentype-c2o-recursive.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o-recursive/opentype-c2o-recursive.1.ddl.aql
index b2ec24f..d4430d6 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o-recursive/opentype-c2o-recursive.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o-recursive/opentype-c2o-recursive.1.ddl.aql
@@ -6,8 +6,6 @@
 
 drop dataverse testdv2 if exists;
 create dataverse testdv2;
-use dataverse testdv2;
-
 
 create type AddressType as open{
   street: string,
@@ -30,33 +28,3 @@
   id: string
 }
 
-create dataset testds(testtype) primary key id;
-
-create dataset testds2(testtype2) primary key id;
-
-insert into dataset testds (
-{ "id": "001", "name": "Person One", "address": {"street": "3019 DBH",  "city": "Irvine", "zip": 92697}, "department": {{ {"name":"CS", "id":299, "review":5}, {"name":"EE", "id":399} }} }
-);
-
-insert into dataset testds (
-{ "id": "002", "name": "Person Two" }
-);
-
-insert into dataset testds (
-{ "id": "003", "name": "Person Three", "address": {"street": "2019 DBH",  "city": "Irvine"} }
-);
-
-insert into dataset testds (
-{ "id": "004", "name": "Person Four", "address": {"street": "1019 DBH",  "city": "irvine", "property": {"zip": 92697, "review": "positive" }  } }
-);
-
-insert into dataset testds2 (
- for $d in dataset("testds") 
-	return $d
-);
-
-write output to nc1:"rttest/dml_opentype-c2o-recursive.adm";
-
-for $d in dataset("testds2") 
-order by $d.id
-return $d
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o-recursive/opentype-c2o-recursive.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o-recursive/opentype-c2o-recursive.2.update.aql
index b2ec24f..46bd7d0 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o-recursive/opentype-c2o-recursive.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o-recursive/opentype-c2o-recursive.2.update.aql
@@ -4,32 +4,8 @@
  * Expected Result : Success
  */
 
-drop dataverse testdv2 if exists;
-create dataverse testdv2;
 use dataverse testdv2;
 
-
-create type AddressType as open{
-  street: string,
-  city: string
-}
-create type Dept as open{
-	name: string,
-	id: int32
-}
-
-create type testtype as closed {
-  name: string,
-  id: string,
-  address: AddressType?,
-  department: {{Dept}}?
-}
-
-create type testtype2 as open {
-  name: string,
-  id: string
-}
-
 create dataset testds(testtype) primary key id;
 
 create dataset testds2(testtype2) primary key id;
@@ -55,8 +31,3 @@
 	return $d
 );
 
-write output to nc1:"rttest/dml_opentype-c2o-recursive.adm";
-
-for $d in dataset("testds2") 
-order by $d.id
-return $d
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o-recursive/opentype-c2o-recursive.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o-recursive/opentype-c2o-recursive.3.query.aql
index b2ec24f..66613eb 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o-recursive/opentype-c2o-recursive.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o-recursive/opentype-c2o-recursive.3.query.aql
@@ -4,59 +4,8 @@
  * Expected Result : Success
  */
 
-drop dataverse testdv2 if exists;
-create dataverse testdv2;
 use dataverse testdv2;
 
-
-create type AddressType as open{
-  street: string,
-  city: string
-}
-create type Dept as open{
-	name: string,
-	id: int32
-}
-
-create type testtype as closed {
-  name: string,
-  id: string,
-  address: AddressType?,
-  department: {{Dept}}?
-}
-
-create type testtype2 as open {
-  name: string,
-  id: string
-}
-
-create dataset testds(testtype) primary key id;
-
-create dataset testds2(testtype2) primary key id;
-
-insert into dataset testds (
-{ "id": "001", "name": "Person One", "address": {"street": "3019 DBH",  "city": "Irvine", "zip": 92697}, "department": {{ {"name":"CS", "id":299, "review":5}, {"name":"EE", "id":399} }} }
-);
-
-insert into dataset testds (
-{ "id": "002", "name": "Person Two" }
-);
-
-insert into dataset testds (
-{ "id": "003", "name": "Person Three", "address": {"street": "2019 DBH",  "city": "Irvine"} }
-);
-
-insert into dataset testds (
-{ "id": "004", "name": "Person Four", "address": {"street": "1019 DBH",  "city": "irvine", "property": {"zip": 92697, "review": "positive" }  } }
-);
-
-insert into dataset testds2 (
- for $d in dataset("testds") 
-	return $d
-);
-
-write output to nc1:"rttest/dml_opentype-c2o-recursive.adm";
-
 for $d in dataset("testds2") 
 order by $d.id
 return $d
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o/opentype-c2o.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o/opentype-c2o.1.ddl.aql
index 29d7d61..4936a81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o/opentype-c2o.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o/opentype-c2o.1.ddl.aql
@@ -7,7 +7,6 @@
 
 drop dataverse testdv2 if exists;
 create dataverse testdv2;
-use dataverse testdv2;
 
 create type testtype as closed {
   id: string,
@@ -23,37 +22,3 @@
   id: string
 }
 
-create dataset testds(testtype) primary key id;
-
-create dataset testds2(testtype2) primary key id;
- 
-insert into dataset testds (
-{ "hobby": {{"music", "coding"}}, "id": "001", "name": "Person Three"}
-);
-
-insert into dataset testds (
-{ "name": "Person One", "id": "002", "hobby": {{"sports"}} }
-);
-
-insert into dataset testds (
-{ "id": "003", "hobby": {{"movie", "sports"}}, "name": "Person Two"}
-);
-
-insert into dataset testds (
-{ "id": "004", "name": "Person Four", "hobby": {{"swimming"}} }
-);
- 
-insert into dataset testds (
-{ "name": "Person Five", "id": "005"}
-); 
- 
-insert into dataset testds2 (
- for $d in dataset("testds") 
-	return $d
-);
-
-write output to nc1:"rttest/dml_opentype-c2o.adm";
-
-for $d in dataset("testds2") 
-order by $d.id
-return $d
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o/opentype-c2o.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o/opentype-c2o.2.update.aql
index 29d7d61..6959361 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o/opentype-c2o.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o/opentype-c2o.2.update.aql
@@ -5,24 +5,8 @@
  * Expected Result : Success
  */
 
-drop dataverse testdv2 if exists;
-create dataverse testdv2;
 use dataverse testdv2;
 
-create type testtype as closed {
-  id: string,
-  name: string,
-  hobby: {{string}}?
-}
-
-/*
-* name and hobby from the closed dataset will
-* become open fields, and hobby can be null
-*/
-create type testtype2 as open {
-  id: string
-}
-
 create dataset testds(testtype) primary key id;
 
 create dataset testds2(testtype2) primary key id;
@@ -52,8 +36,3 @@
 	return $d
 );
 
-write output to nc1:"rttest/dml_opentype-c2o.adm";
-
-for $d in dataset("testds2") 
-order by $d.id
-return $d
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o/opentype-c2o.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o/opentype-c2o.3.query.aql
index 29d7d61..d866300 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o/opentype-c2o.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o/opentype-c2o.3.query.aql
@@ -5,55 +5,8 @@
  * Expected Result : Success
  */
 
-drop dataverse testdv2 if exists;
-create dataverse testdv2;
 use dataverse testdv2;
 
-create type testtype as closed {
-  id: string,
-  name: string,
-  hobby: {{string}}?
-}
-
-/*
-* name and hobby from the closed dataset will
-* become open fields, and hobby can be null
-*/
-create type testtype2 as open {
-  id: string
-}
-
-create dataset testds(testtype) primary key id;
-
-create dataset testds2(testtype2) primary key id;
- 
-insert into dataset testds (
-{ "hobby": {{"music", "coding"}}, "id": "001", "name": "Person Three"}
-);
-
-insert into dataset testds (
-{ "name": "Person One", "id": "002", "hobby": {{"sports"}} }
-);
-
-insert into dataset testds (
-{ "id": "003", "hobby": {{"movie", "sports"}}, "name": "Person Two"}
-);
-
-insert into dataset testds (
-{ "id": "004", "name": "Person Four", "hobby": {{"swimming"}} }
-);
- 
-insert into dataset testds (
-{ "name": "Person Five", "id": "005"}
-); 
- 
-insert into dataset testds2 (
- for $d in dataset("testds") 
-	return $d
-);
-
-write output to nc1:"rttest/dml_opentype-c2o.adm";
-
 for $d in dataset("testds2") 
 order by $d.id
 return $d
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-closed-option/opentype-closed-option.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-closed-option/opentype-closed-option.1.ddl.aql
index b510ba4..7ecf27a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-closed-option/opentype-closed-option.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-closed-option/opentype-closed-option.1.ddl.aql
@@ -6,25 +6,9 @@
 
 drop dataverse testdv2 if exists;
 create dataverse testdv2;
-use dataverse testdv2;
 
 create type testtype as closed {
   name: string?,
   id: string
 }
 
-create dataset testds(testtype) primary key id;
-
-insert into dataset testds (
-{ "id": "001", "name": "Person One"}
-);
-
-insert into dataset testds (
-{ "id": "002"}
-);
-
-write output to nc1:"rttest/dml_opentype-closed-optional.adm";
-
-for $d in dataset("testds") 
-order by $d.id
-return $d
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-closed-option/opentype-closed-option.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-closed-option/opentype-closed-option.2.update.aql
index b510ba4..612571f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-closed-option/opentype-closed-option.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-closed-option/opentype-closed-option.2.update.aql
@@ -4,15 +4,8 @@
  * Expected Result : Success
  */
 
-drop dataverse testdv2 if exists;
-create dataverse testdv2;
 use dataverse testdv2;
 
-create type testtype as closed {
-  name: string?,
-  id: string
-}
-
 create dataset testds(testtype) primary key id;
 
 insert into dataset testds (
@@ -23,8 +16,3 @@
 { "id": "002"}
 );
 
-write output to nc1:"rttest/dml_opentype-closed-optional.adm";
-
-for $d in dataset("testds") 
-order by $d.id
-return $d
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-closed-option/opentype-closed-option.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-closed-option/opentype-closed-option.3.query.aql
index b510ba4..4807bc6 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-closed-option/opentype-closed-option.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-closed-option/opentype-closed-option.3.query.aql
@@ -4,27 +4,8 @@
  * Expected Result : Success
  */
 
-drop dataverse testdv2 if exists;
-create dataverse testdv2;
 use dataverse testdv2;
 
-create type testtype as closed {
-  name: string?,
-  id: string
-}
-
-create dataset testds(testtype) primary key id;
-
-insert into dataset testds (
-{ "id": "001", "name": "Person One"}
-);
-
-insert into dataset testds (
-{ "id": "002"}
-);
-
-write output to nc1:"rttest/dml_opentype-closed-optional.adm";
-
 for $d in dataset("testds") 
 order by $d.id
 return $d
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert/opentype-insert.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert/opentype-insert.1.ddl.aql
index 9301ac5..405078c 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert/opentype-insert.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert/opentype-insert.1.ddl.aql
@@ -6,20 +6,8 @@
 
 drop dataverse testdv2 if exists;
 create dataverse testdv2;
-use dataverse testdv2;
-
 create type testtype as open {
   id: string,
   name: string
 }
 
-create dataset testds(testtype) primary key id;
- 
- insert into dataset testds (
- { "id": "001", "name": "Person Three", "hobbies": {{"scuba", "music"}}}
- );
-
-write output to nc1:"rttest/dml_opentype-insert.adm";
-
-for $d in dataset("testds") 
-return $d
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert/opentype-insert.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert/opentype-insert.2.update.aql
index 9301ac5..34afcfd 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert/opentype-insert.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert/opentype-insert.2.update.aql
@@ -4,22 +4,11 @@
  * Expected Result : Success
  */
 
-drop dataverse testdv2 if exists;
-create dataverse testdv2;
 use dataverse testdv2;
 
-create type testtype as open {
-  id: string,
-  name: string
-}
-
 create dataset testds(testtype) primary key id;
  
  insert into dataset testds (
  { "id": "001", "name": "Person Three", "hobbies": {{"scuba", "music"}}}
  );
 
-write output to nc1:"rttest/dml_opentype-insert.adm";
-
-for $d in dataset("testds") 
-return $d
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert/opentype-insert.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert/opentype-insert.3.query.aql
index 9301ac5..3e16526 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert/opentype-insert.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert/opentype-insert.3.query.aql
@@ -4,22 +4,7 @@
  * Expected Result : Success
  */
 
-drop dataverse testdv2 if exists;
-create dataverse testdv2;
 use dataverse testdv2;
 
-create type testtype as open {
-  id: string,
-  name: string
-}
-
-create dataset testds(testtype) primary key id;
- 
- insert into dataset testds (
- { "id": "001", "name": "Person Three", "hobbies": {{"scuba", "music"}}}
- );
-
-write output to nc1:"rttest/dml_opentype-insert.adm";
-
 for $d in dataset("testds") 
 return $d
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert2/opentype-insert2.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert2/opentype-insert2.1.ddl.aql
index e673c57..34232fc 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert2/opentype-insert2.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert2/opentype-insert2.1.ddl.aql
@@ -7,17 +7,8 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type TestType as open {
 	id:int32
 }
 
-create dataset testds(TestType) primary key id;
-
-insert into dataset testds( for $i in range(1,10) return { "id":$i,"name":"John Doe" });
-
-write output to nc1:"rttest/dml_opentype-insert2.adm";
-for $l in dataset('testds')
-order by $l.id
-return $l
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert2/opentype-insert2.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert2/opentype-insert2.2.update.aql
index e673c57..a13fc81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert2/opentype-insert2.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert2/opentype-insert2.2.update.aql
@@ -5,19 +5,10 @@
  * Expected Result : Success
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type TestType as open {
-	id:int32
-}
 
 create dataset testds(TestType) primary key id;
 
 insert into dataset testds( for $i in range(1,10) return { "id":$i,"name":"John Doe" });
 
-write output to nc1:"rttest/dml_opentype-insert2.adm";
-for $l in dataset('testds')
-order by $l.id
-return $l
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert2/opentype-insert2.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert2/opentype-insert2.3.query.aql
index e673c57..dd14e87 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert2/opentype-insert2.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert2/opentype-insert2.3.query.aql
@@ -5,19 +5,8 @@
  * Expected Result : Success
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type TestType as open {
-	id:int32
-}
-
-create dataset testds(TestType) primary key id;
-
-insert into dataset testds( for $i in range(1,10) return { "id":$i,"name":"John Doe" });
-
-write output to nc1:"rttest/dml_opentype-insert2.adm";
 for $l in dataset('testds')
 order by $l.id
 return $l
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-noexpand/opentype-noexpand.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-noexpand/opentype-noexpand.1.ddl.aql
index bc408be..4101d55 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-noexpand/opentype-noexpand.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-noexpand/opentype-noexpand.1.ddl.aql
@@ -7,25 +7,9 @@
  
 drop dataverse testdv2 if exists;
 create dataverse testdv2;
-use dataverse testdv2;
 
 create type testtype as open {
   name: string?,
   id: string
 }
 
-create dataset testds(testtype) primary key id;
-
-insert into dataset testds (
-{ "id": "001", "name": "Person One"}
-);
-
-insert into dataset testds (
-{ "id": "002"}
-);
-
-write output to nc1:"rttest/dml_opentype-noexpand.adm";
-
-for $d in dataset("testds") 
-order by $d.id
-return $d
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-noexpand/opentype-noexpand.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-noexpand/opentype-noexpand.2.update.aql
index bc408be..835833f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-noexpand/opentype-noexpand.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-noexpand/opentype-noexpand.2.update.aql
@@ -4,15 +4,8 @@
  *					 verify the bag-based fields
  * Expected Result : Success
  */
- 
-drop dataverse testdv2 if exists;
-create dataverse testdv2;
-use dataverse testdv2;
 
-create type testtype as open {
-  name: string?,
-  id: string
-}
+use dataverse testdv2;
 
 create dataset testds(testtype) primary key id;
 
@@ -24,8 +17,3 @@
 { "id": "002"}
 );
 
-write output to nc1:"rttest/dml_opentype-noexpand.adm";
-
-for $d in dataset("testds") 
-order by $d.id
-return $d
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-noexpand/opentype-noexpand.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-noexpand/opentype-noexpand.3.query.aql
index bc408be..7ed01bc 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-noexpand/opentype-noexpand.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-noexpand/opentype-noexpand.3.query.aql
@@ -4,28 +4,9 @@
  *					 verify the bag-based fields
  * Expected Result : Success
  */
- 
-drop dataverse testdv2 if exists;
-create dataverse testdv2;
+
 use dataverse testdv2;
 
-create type testtype as open {
-  name: string?,
-  id: string
-}
-
-create dataset testds(testtype) primary key id;
-
-insert into dataset testds (
-{ "id": "001", "name": "Person One"}
-);
-
-insert into dataset testds (
-{ "id": "002"}
-);
-
-write output to nc1:"rttest/dml_opentype-noexpand.adm";
-
 for $d in dataset("testds") 
 order by $d.id
 return $d
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c-recursive/opentype-o2c-recursive.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c-recursive/opentype-o2c-recursive.1.ddl.aql
index 92d2bce..b8a628c 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c-recursive/opentype-o2c-recursive.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c-recursive/opentype-o2c-recursive.1.ddl.aql
@@ -6,8 +6,6 @@
 
 drop dataverse testdv2 if exists;
 create dataverse testdv2;
-use dataverse testdv2;
-
 
 create type AddressType as open{
   street: string,
@@ -31,33 +29,3 @@
   department: {{Dept}}?
 }
 
-create dataset testds(testtype) primary key id;
-
-create dataset testds2(testtype2) primary key id;
-
-insert into dataset testds (
-{ "id": "001", "name": "Person One", "address": {"street": "3019 DBH",  "city": "Irvine", "zip": 92697}, "department": {{ {"name":"CS", "id":299}, {"name":"EE", "id":399} }} }
-);
-
-insert into dataset testds (
-{ "id": "002", "name": "Person Two" }
-);
-
-insert into dataset testds (
-{ "id": "003", "name": "Person Three", "address": {"street": "2019 DBH",  "city": "Irvine"} }
-);
-
-insert into dataset testds (
-{ "id": "004", "name": "Person Four", "address": {"street": "1019 DBH",  "city": "irvine", "property": {"zip": 92697, "review": "positive" }  } }
-);
-
-insert into dataset testds2 (
- for $d in dataset("testds") 
-	return $d
-);
-
-write output to nc1:"rttest/dml_opentype-o2c-recursive.adm";
-
-for $d in dataset("testds2") 
-order by $d.id
-return $d
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c-recursive/opentype-o2c-recursive.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c-recursive/opentype-o2c-recursive.2.update.aql
index 92d2bce..47663be 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c-recursive/opentype-o2c-recursive.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c-recursive/opentype-o2c-recursive.2.update.aql
@@ -4,33 +4,8 @@
  * Expected Result : Success
  */
 
-drop dataverse testdv2 if exists;
-create dataverse testdv2;
 use dataverse testdv2;
 
-
-create type AddressType as open{
-  street: string,
-  city: string
-}
-
-create type Dept as closed{
-	name: string,
-	id: int32
-}
-
-create type testtype as open {
-  name: string,
-  id: string
-}
-
-create type testtype2 as closed {
-  name: string,
-  id: string,
-  address: AddressType?,
-  department: {{Dept}}?
-}
-
 create dataset testds(testtype) primary key id;
 
 create dataset testds2(testtype2) primary key id;
@@ -56,8 +31,3 @@
 	return $d
 );
 
-write output to nc1:"rttest/dml_opentype-o2c-recursive.adm";
-
-for $d in dataset("testds2") 
-order by $d.id
-return $d
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c-recursive/opentype-o2c-recursive.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c-recursive/opentype-o2c-recursive.3.query.aql
index 92d2bce..66613eb 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c-recursive/opentype-o2c-recursive.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c-recursive/opentype-o2c-recursive.3.query.aql
@@ -4,60 +4,8 @@
  * Expected Result : Success
  */
 
-drop dataverse testdv2 if exists;
-create dataverse testdv2;
 use dataverse testdv2;
 
-
-create type AddressType as open{
-  street: string,
-  city: string
-}
-
-create type Dept as closed{
-	name: string,
-	id: int32
-}
-
-create type testtype as open {
-  name: string,
-  id: string
-}
-
-create type testtype2 as closed {
-  name: string,
-  id: string,
-  address: AddressType?,
-  department: {{Dept}}?
-}
-
-create dataset testds(testtype) primary key id;
-
-create dataset testds2(testtype2) primary key id;
-
-insert into dataset testds (
-{ "id": "001", "name": "Person One", "address": {"street": "3019 DBH",  "city": "Irvine", "zip": 92697}, "department": {{ {"name":"CS", "id":299}, {"name":"EE", "id":399} }} }
-);
-
-insert into dataset testds (
-{ "id": "002", "name": "Person Two" }
-);
-
-insert into dataset testds (
-{ "id": "003", "name": "Person Three", "address": {"street": "2019 DBH",  "city": "Irvine"} }
-);
-
-insert into dataset testds (
-{ "id": "004", "name": "Person Four", "address": {"street": "1019 DBH",  "city": "irvine", "property": {"zip": 92697, "review": "positive" }  } }
-);
-
-insert into dataset testds2 (
- for $d in dataset("testds") 
-	return $d
-);
-
-write output to nc1:"rttest/dml_opentype-o2c-recursive.adm";
-
 for $d in dataset("testds2") 
 order by $d.id
 return $d
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c/opentype-o2c.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c/opentype-o2c.1.ddl.aql
index ae69e17..3e25ba4 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c/opentype-o2c.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c/opentype-o2c.1.ddl.aql
@@ -8,7 +8,6 @@
 
 drop dataverse testdv2 if exists;
 create dataverse testdv2;
-use dataverse testdv2;
 
 create type testtype as open {
   id: string,
@@ -21,37 +20,3 @@
   name: string
 }
 
-create dataset testds(testtype) primary key id;
-
-create dataset testds2(testtype2) primary key id; 
- 
-insert into dataset testds (
-{ "id": "001",  "hobby": {{"music"}}, "name": "Person Three"}
-);
-
-insert into dataset testds (
-{ "id": "002", "name": "Person Three", "hobby": {{"football"}}}
-);
-
-insert into dataset testds (
-{ "id": "003", "name": "Person Three", "hobby": {{"movie", "coding", "debugging"}}}
-);
-
-insert into dataset testds (
-{ "name": "Person Three", "hobby": {{"swimming", "music"}}, "id": "004"}
-);
-
-insert into dataset testds (
-{ "id": "005", "name": "Person Five"}
-);
-
-insert into dataset testds2 (
- for $d in dataset("testds") 
-	return $d
-);
-
-write output to nc1:"rttest/dml_opentype-o2c.adm";
-
-for $d in dataset("testds2") 
-order by $d.id
-return $d
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c/opentype-o2c.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c/opentype-o2c.2.update.aql
index ae69e17..6a75091 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c/opentype-o2c.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c/opentype-o2c.2.update.aql
@@ -5,22 +5,8 @@
  * Expected Result : Success
  */
 
-
-drop dataverse testdv2 if exists;
-create dataverse testdv2;
 use dataverse testdv2;
 
-create type testtype as open {
-  id: string,
-  name: string
-}
-
-create type testtype2 as closed {
-  hobby: {{string}}?,
-  id: string,
-  name: string
-}
-
 create dataset testds(testtype) primary key id;
 
 create dataset testds2(testtype2) primary key id; 
@@ -50,8 +36,3 @@
 	return $d
 );
 
-write output to nc1:"rttest/dml_opentype-o2c.adm";
-
-for $d in dataset("testds2") 
-order by $d.id
-return $d
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c/opentype-o2c.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c/opentype-o2c.3.query.aql
index ae69e17..2b74737 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c/opentype-o2c.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c/opentype-o2c.3.query.aql
@@ -5,53 +5,8 @@
  * Expected Result : Success
  */
 
-
-drop dataverse testdv2 if exists;
-create dataverse testdv2;
 use dataverse testdv2;
 
-create type testtype as open {
-  id: string,
-  name: string
-}
-
-create type testtype2 as closed {
-  hobby: {{string}}?,
-  id: string,
-  name: string
-}
-
-create dataset testds(testtype) primary key id;
-
-create dataset testds2(testtype2) primary key id; 
- 
-insert into dataset testds (
-{ "id": "001",  "hobby": {{"music"}}, "name": "Person Three"}
-);
-
-insert into dataset testds (
-{ "id": "002", "name": "Person Three", "hobby": {{"football"}}}
-);
-
-insert into dataset testds (
-{ "id": "003", "name": "Person Three", "hobby": {{"movie", "coding", "debugging"}}}
-);
-
-insert into dataset testds (
-{ "name": "Person Three", "hobby": {{"swimming", "music"}}, "id": "004"}
-);
-
-insert into dataset testds (
-{ "id": "005", "name": "Person Five"}
-);
-
-insert into dataset testds2 (
- for $d in dataset("testds") 
-	return $d
-);
-
-write output to nc1:"rttest/dml_opentype-o2c.adm";
-
 for $d in dataset("testds2") 
 order by $d.id
 return $d
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2o/opentype-o2o.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2o/opentype-o2o.1.ddl.aql
index c836a69..2729e5b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2o/opentype-o2o.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2o/opentype-o2o.1.ddl.aql
@@ -8,7 +8,6 @@
 
 drop dataverse testdv2 if exists;
 create dataverse testdv2;
-use dataverse testdv2;
 
 create type testtype as open {
   name: string,
@@ -21,33 +20,3 @@
   hobby: string
 }
 
-create dataset testds(testtype) primary key id;
-
-create dataset testds2(testtype2) primary key id;
- 
-insert into dataset testds (
-{ "name": "Person One",  "id": "001", "hobby": "music"}
-);
-
-insert into dataset testds (
-{ "hobby": "football", "city":"irvine", "name": "Person Two", "id": "002"}
-);
-
-insert into dataset testds (
-{ "name": "Person Three",  "id": "003",  "hobby": "movie"}
-);
-
-insert into dataset testds (
-{ "hobby": "swimming", "name": "Person Four", "id": "004", "phone":"102-304-506"}
-);
-
-insert into dataset testds2 (
- for $d in dataset("testds") 
-	return $d
-);
-
-write output to nc1:"rttest/dml_opentype-o2o.adm";
-
-for $d in dataset("testds2") 
-order by $d.id
-return $d
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2o/opentype-o2o.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2o/opentype-o2o.2.update.aql
index c836a69..3b47d15 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2o/opentype-o2o.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2o/opentype-o2o.2.update.aql
@@ -6,21 +6,8 @@
  */
 
 
-drop dataverse testdv2 if exists;
-create dataverse testdv2;
 use dataverse testdv2;
 
-create type testtype as open {
-  name: string,
-  id: string
-}
-
-create type testtype2 as open {
-  id: string,
-  name: string,
-  hobby: string
-}
-
 create dataset testds(testtype) primary key id;
 
 create dataset testds2(testtype2) primary key id;
@@ -46,8 +33,3 @@
 	return $d
 );
 
-write output to nc1:"rttest/dml_opentype-o2o.adm";
-
-for $d in dataset("testds2") 
-order by $d.id
-return $d
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2o/opentype-o2o.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2o/opentype-o2o.3.query.aql
index c836a69..2bed855 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2o/opentype-o2o.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2o/opentype-o2o.3.query.aql
@@ -6,48 +6,8 @@
  */
 
 
-drop dataverse testdv2 if exists;
-create dataverse testdv2;
 use dataverse testdv2;
 
-create type testtype as open {
-  name: string,
-  id: string
-}
-
-create type testtype2 as open {
-  id: string,
-  name: string,
-  hobby: string
-}
-
-create dataset testds(testtype) primary key id;
-
-create dataset testds2(testtype2) primary key id;
- 
-insert into dataset testds (
-{ "name": "Person One",  "id": "001", "hobby": "music"}
-);
-
-insert into dataset testds (
-{ "hobby": "football", "city":"irvine", "name": "Person Two", "id": "002"}
-);
-
-insert into dataset testds (
-{ "name": "Person Three",  "id": "003",  "hobby": "movie"}
-);
-
-insert into dataset testds (
-{ "hobby": "swimming", "name": "Person Four", "id": "004", "phone":"102-304-506"}
-);
-
-insert into dataset testds2 (
- for $d in dataset("testds") 
-	return $d
-);
-
-write output to nc1:"rttest/dml_opentype-o2o.adm";
-
 for $d in dataset("testds2") 
 order by $d.id
 return $d
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/query-issue205/uery-issue205.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/query-issue205/uery-issue205.1.ddl.aql
new file mode 100644
index 0000000..8c8e0a7
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/query-issue205/uery-issue205.1.ddl.aql
@@ -0,0 +1,21 @@
+/*
+ * Description  : This test case is to verify the fix for issue205
+ 				: https://code.google.com/p/asterixdb/issues/detail?id=205
+ * Expected Res : Success
+ * Date         : 26th November 2012
+ */
+
+drop dataverse test if exists;
+create dataverse test;
+
+create type EmployeeStat as open {
+  age: int32,
+  salary:int32
+}
+
+create type EmployeeType as closed {
+  id:string,
+  stat:EmployeeStat,
+  deptCode:int32
+}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/uery-issue205/uery-issue205.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/query-issue205/uery-issue205.2.update.aql
similarity index 63%
rename from asterix-app/src/test/resources/runtimets/queries/dml/uery-issue205/uery-issue205.1.ddl.aql
rename to asterix-app/src/test/resources/runtimets/queries/dml/query-issue205/uery-issue205.2.update.aql
index 3a2ad40..3b3c0fb 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/uery-issue205/uery-issue205.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/query-issue205/uery-issue205.2.update.aql
@@ -5,21 +5,8 @@
  * Date         : 26th November 2012
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type EmployeeStat as open {
-  age: int32,
-  salary:int32
-}
-
-create type EmployeeType as closed {
-  id:string,
-  stat:EmployeeStat,
-  deptCode:int32
-}
-
 create dataset Employees(EmployeeType)
   primary key id;
 
@@ -28,6 +15,3 @@
 
 delete $l from dataset Employees where $l.id = "1234";
 
-write output to nc1:"rttest/dml_query-issue205.adm";
-for $l in dataset('Employees')
-return $l
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/query-issue205/uery-issue205.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/query-issue205/uery-issue205.3.query.aql
new file mode 100644
index 0000000..3a50569
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/query-issue205/uery-issue205.3.query.aql
@@ -0,0 +1,11 @@
+/*
+ * Description  : This test case is to verify the fix for issue205
+ 				: https://code.google.com/p/asterixdb/issues/detail?id=205
+ * Expected Res : Success
+ * Date         : 26th November 2012
+ */
+
+use dataverse test;
+
+for $l in dataset('Employees')
+return $l
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-btree-secondary-index-nullable/scan-delete-btree-secondary-index-nullable.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-btree-secondary-index-nullable/scan-delete-btree-secondary-index-nullable.1.ddl.aql
index 36df10a..1366ec9 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-btree-secondary-index-nullable/scan-delete-btree-secondary-index-nullable.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-btree-secondary-index-nullable/scan-delete-btree-secondary-index-nullable.1.ddl.aql
@@ -7,7 +7,6 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type AddressType as closed {
   number: int32, 
@@ -24,19 +23,3 @@
   children: [ { name: string, age: int32? } ]
 }
 
-create dataset Customers(CustomerType) primary key cid;
-
-load dataset Customers 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k/customer.adm"),("format"="adm"));
-
-create index age_index on Customers(age);
-
-delete $c from dataset Customers where $c.cid>=200;
-
-write output to nc1:"rttest/dml_scan-delete-btree-secondary-index-nullable.adm";
-
-for $c in dataset('Customers')
-where $c.age < 20
-order by $c.cid
-return $c
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-btree-secondary-index-nullable/scan-delete-btree-secondary-index-nullable.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-btree-secondary-index-nullable/scan-delete-btree-secondary-index-nullable.2.update.aql
index 36df10a..8dd9dc8 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-btree-secondary-index-nullable/scan-delete-btree-secondary-index-nullable.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-btree-secondary-index-nullable/scan-delete-btree-secondary-index-nullable.2.update.aql
@@ -5,25 +5,8 @@
  * Date            : May 12 2012
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type AddressType as closed {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  age: int32?,
-  address: AddressType?,
-  interests: {{string}},
-  children: [ { name: string, age: int32? } ]
-}
-
 create dataset Customers(CustomerType) primary key cid;
 
 load dataset Customers 
@@ -34,9 +17,3 @@
 
 delete $c from dataset Customers where $c.cid>=200;
 
-write output to nc1:"rttest/dml_scan-delete-btree-secondary-index-nullable.adm";
-
-for $c in dataset('Customers')
-where $c.age < 20
-order by $c.cid
-return $c
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-btree-secondary-index-nullable/scan-delete-btree-secondary-index-nullable.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-btree-secondary-index-nullable/scan-delete-btree-secondary-index-nullable.3.query.aql
index 36df10a..457e5ed 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-btree-secondary-index-nullable/scan-delete-btree-secondary-index-nullable.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-btree-secondary-index-nullable/scan-delete-btree-secondary-index-nullable.3.query.aql
@@ -5,37 +5,8 @@
  * Date            : May 12 2012
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type AddressType as closed {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  age: int32?,
-  address: AddressType?,
-  interests: {{string}},
-  children: [ { name: string, age: int32? } ]
-}
-
-create dataset Customers(CustomerType) primary key cid;
-
-load dataset Customers 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k/customer.adm"),("format"="adm"));
-
-create index age_index on Customers(age);
-
-delete $c from dataset Customers where $c.cid>=200;
-
-write output to nc1:"rttest/dml_scan-delete-btree-secondary-index-nullable.adm";
-
 for $c in dataset('Customers')
 where $c.age < 20
 order by $c.cid
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-rtree-secondary-index-nullable/scan-delete-rtree-secondary-index-nullable.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-rtree-secondary-index-nullable/scan-delete-rtree-secondary-index-nullable.1.ddl.aql
index c44c3e8..4b30c80 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-rtree-secondary-index-nullable/scan-delete-rtree-secondary-index-nullable.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-rtree-secondary-index-nullable/scan-delete-rtree-secondary-index-nullable.1.ddl.aql
@@ -7,7 +7,6 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type MyRecord as closed {
   id: int32,
@@ -20,20 +19,3 @@
   rec: rectangle
 }
 
-create dataset MyData(MyRecord)
-  primary key id;
-
-load dataset MyData 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/spatial/spatialDataNulls.json"),("format"="adm")) pre-sorted;
-
-create index rtree_index_point on MyData(point) type rtree;
-
-delete $m from dataset MyData where $m.id>10;
-
-write output to nc1:"rttest/dml_scan-delete-rtree-secondary-index-nullable.adm";
-
-for $o in dataset('MyData')
-where spatial-intersect($o.point, create-polygon(create-point(0.0,1.0), create-point(0.0,4.0), create-point(12.0,4.0), create-point(12.0,1.0)))
-order by $o.id
-return {"id":$o.id}
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-rtree-secondary-index-nullable/scan-delete-rtree-secondary-index-nullable.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-rtree-secondary-index-nullable/scan-delete-rtree-secondary-index-nullable.2.update.aql
index c44c3e8..6ba1111 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-rtree-secondary-index-nullable/scan-delete-rtree-secondary-index-nullable.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-rtree-secondary-index-nullable/scan-delete-rtree-secondary-index-nullable.2.update.aql
@@ -5,21 +5,8 @@
  * Date            : May 12 2012
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type MyRecord as closed {
-  id: int32,
-  point: point?,
-  kwds: string,
-  line1: line,
-  line2: line,
-  poly1: polygon,
-  poly2: polygon,
-  rec: rectangle
-}
-
 create dataset MyData(MyRecord)
   primary key id;
 
@@ -31,9 +18,3 @@
 
 delete $m from dataset MyData where $m.id>10;
 
-write output to nc1:"rttest/dml_scan-delete-rtree-secondary-index-nullable.adm";
-
-for $o in dataset('MyData')
-where spatial-intersect($o.point, create-polygon(create-point(0.0,1.0), create-point(0.0,4.0), create-point(12.0,4.0), create-point(12.0,1.0)))
-order by $o.id
-return {"id":$o.id}
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-rtree-secondary-index-nullable/scan-delete-rtree-secondary-index-nullable.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-rtree-secondary-index-nullable/scan-delete-rtree-secondary-index-nullable.3.query.aql
index c44c3e8..e453b2a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-rtree-secondary-index-nullable/scan-delete-rtree-secondary-index-nullable.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-rtree-secondary-index-nullable/scan-delete-rtree-secondary-index-nullable.3.query.aql
@@ -5,34 +5,8 @@
  * Date            : May 12 2012
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type MyRecord as closed {
-  id: int32,
-  point: point?,
-  kwds: string,
-  line1: line,
-  line2: line,
-  poly1: polygon,
-  poly2: polygon,
-  rec: rectangle
-}
-
-create dataset MyData(MyRecord)
-  primary key id;
-
-load dataset MyData 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/spatial/spatialDataNulls.json"),("format"="adm")) pre-sorted;
-
-create index rtree_index_point on MyData(point) type rtree;
-
-delete $m from dataset MyData where $m.id>10;
-
-write output to nc1:"rttest/dml_scan-delete-rtree-secondary-index-nullable.adm";
-
 for $o in dataset('MyData')
 where spatial-intersect($o.point, create-polygon(create-point(0.0,1.0), create-point(0.0,4.0), create-point(12.0,4.0), create-point(12.0,1.0)))
 order by $o.id
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-rtree-secondary-index/scan-delete-rtree-secondary-index.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-rtree-secondary-index/scan-delete-rtree-secondary-index.1.ddl.aql
index b6bc17b..5925115 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-rtree-secondary-index/scan-delete-rtree-secondary-index.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-rtree-secondary-index/scan-delete-rtree-secondary-index.1.ddl.aql
@@ -1,6 +1,5 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type MyRecord as closed {
   id: int32,
@@ -14,20 +13,3 @@
   circle: circle
 }
 
-create dataset MyData(MyRecord)
-  primary key id;
-
-load dataset MyData 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/spatial/spatialData.json"),("format"="adm")) pre-sorted;
-
-create index rtree_index_point on MyData(point) type rtree;
-
-delete $m from dataset MyData where $m.id>10;
-
-write output to nc1:"rttest/dml_scan-delete-rtree-secondary-index.adm";
-
-for $o in dataset('MyData')
-where spatial-intersect($o.point, create-polygon(create-point(0.0,1.0), create-point(0.0,4.0), create-point(12.0,4.0), create-point(12.0,1.0)))
-order by $o.id
-return {"id":$o.id}
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-rtree-secondary-index/scan-delete-rtree-secondary-index.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-rtree-secondary-index/scan-delete-rtree-secondary-index.2.update.aql
index b6bc17b..1ee3016 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-rtree-secondary-index/scan-delete-rtree-secondary-index.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-rtree-secondary-index/scan-delete-rtree-secondary-index.2.update.aql
@@ -1,19 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type MyRecord as closed {
-  id: int32,
-  point: point,
-  kwds: string,
-  line1: line,
-  line2: line,
-  poly1: polygon,
-  poly2: polygon,
-  rec: rectangle,
-  circle: circle
-}
-
 create dataset MyData(MyRecord)
   primary key id;
 
@@ -25,9 +11,3 @@
 
 delete $m from dataset MyData where $m.id>10;
 
-write output to nc1:"rttest/dml_scan-delete-rtree-secondary-index.adm";
-
-for $o in dataset('MyData')
-where spatial-intersect($o.point, create-polygon(create-point(0.0,1.0), create-point(0.0,4.0), create-point(12.0,4.0), create-point(12.0,1.0)))
-order by $o.id
-return {"id":$o.id}
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-rtree-secondary-index/scan-delete-rtree-secondary-index.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-rtree-secondary-index/scan-delete-rtree-secondary-index.3.query.aql
index b6bc17b..5b8dbf7 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-rtree-secondary-index/scan-delete-rtree-secondary-index.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-rtree-secondary-index/scan-delete-rtree-secondary-index.3.query.aql
@@ -1,32 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type MyRecord as closed {
-  id: int32,
-  point: point,
-  kwds: string,
-  line1: line,
-  line2: line,
-  poly1: polygon,
-  poly2: polygon,
-  rec: rectangle,
-  circle: circle
-}
-
-create dataset MyData(MyRecord)
-  primary key id;
-
-load dataset MyData 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/spatial/spatialData.json"),("format"="adm")) pre-sorted;
-
-create index rtree_index_point on MyData(point) type rtree;
-
-delete $m from dataset MyData where $m.id>10;
-
-write output to nc1:"rttest/dml_scan-delete-rtree-secondary-index.adm";
-
 for $o in dataset('MyData')
 where spatial-intersect($o.point, create-polygon(create-point(0.0,1.0), create-point(0.0,4.0), create-point(12.0,4.0), create-point(12.0,1.0)))
 order by $o.id
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-btree-secondary-index-nullable/scan-insert-btree-secondary-index-nullable.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-btree-secondary-index-nullable/scan-insert-btree-secondary-index-nullable.1.ddl.aql
index dde8892..be3bcb5 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-btree-secondary-index-nullable/scan-insert-btree-secondary-index-nullable.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-btree-secondary-index-nullable/scan-insert-btree-secondary-index-nullable.1.ddl.aql
@@ -7,7 +7,6 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type AddressType as closed {
   number: int32, 
@@ -24,32 +23,3 @@
   children: [ { name: string, age: int32? } ]
 }
 
-create dataset Customers(CustomerType) primary key cid;
-create dataset CustomersMini(CustomerType) primary key cid;
-
-load dataset Customers 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k/customer.adm"),("format"="adm"));
-
-create index age_index on CustomersMini(age);
-
-insert into dataset CustomersMini
-(
-	for $c in dataset('Customers')
-	where $c.cid < 200	
-	return {
-	  "cid": $c.cid,
-  	  "name": $c.name,
-  	  "age": $c.age,
-  	  "address": $c.address,
-  	  "interests": $c.interests,
-  	  "children": $c.children
-	}	
-);
-
-write output to nc1:"rttest/dml_scan-insert-btree-secondary-index-nullable.adm";
-
-for $c in dataset('CustomersMini')
-where $c.age < 20
-order by $c.cid
-return $c
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-btree-secondary-index-nullable/scan-insert-btree-secondary-index-nullable.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-btree-secondary-index-nullable/scan-insert-btree-secondary-index-nullable.2.update.aql
index dde8892..8f4656b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-btree-secondary-index-nullable/scan-insert-btree-secondary-index-nullable.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-btree-secondary-index-nullable/scan-insert-btree-secondary-index-nullable.2.update.aql
@@ -5,25 +5,8 @@
  * Date            : May 12 2012
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type AddressType as closed {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  age: int32?,
-  address: AddressType?,
-  interests: {{string}},
-  children: [ { name: string, age: int32? } ]
-}
-
 create dataset Customers(CustomerType) primary key cid;
 create dataset CustomersMini(CustomerType) primary key cid;
 
@@ -47,9 +30,3 @@
 	}	
 );
 
-write output to nc1:"rttest/dml_scan-insert-btree-secondary-index-nullable.adm";
-
-for $c in dataset('CustomersMini')
-where $c.age < 20
-order by $c.cid
-return $c
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-btree-secondary-index-nullable/scan-insert-btree-secondary-index-nullable.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-btree-secondary-index-nullable/scan-insert-btree-secondary-index-nullable.3.query.aql
index dde8892..e496b10 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-btree-secondary-index-nullable/scan-insert-btree-secondary-index-nullable.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-btree-secondary-index-nullable/scan-insert-btree-secondary-index-nullable.3.query.aql
@@ -5,50 +5,9 @@
  * Date            : May 12 2012
  */
 
-drop dataverse test if exists;
-create dataverse test;
+
 use dataverse test;
 
-create type AddressType as closed {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  age: int32?,
-  address: AddressType?,
-  interests: {{string}},
-  children: [ { name: string, age: int32? } ]
-}
-
-create dataset Customers(CustomerType) primary key cid;
-create dataset CustomersMini(CustomerType) primary key cid;
-
-load dataset Customers 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k/customer.adm"),("format"="adm"));
-
-create index age_index on CustomersMini(age);
-
-insert into dataset CustomersMini
-(
-	for $c in dataset('Customers')
-	where $c.cid < 200	
-	return {
-	  "cid": $c.cid,
-  	  "name": $c.name,
-  	  "age": $c.age,
-  	  "address": $c.address,
-  	  "interests": $c.interests,
-  	  "children": $c.children
-	}	
-);
-
-write output to nc1:"rttest/dml_scan-insert-btree-secondary-index-nullable.adm";
-
 for $c in dataset('CustomersMini')
 where $c.age < 20
 order by $c.cid
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index-nullable/scan-insert-rtree-secondary-index-nullable.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index-nullable/scan-insert-rtree-secondary-index-nullable.1.ddl.aql
index a3d38eb..74336e4 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index-nullable/scan-insert-rtree-secondary-index-nullable.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index-nullable/scan-insert-rtree-secondary-index-nullable.1.ddl.aql
@@ -7,7 +7,6 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type MyRecord as closed {
   id: int32,
@@ -25,30 +24,3 @@
   point: point?
 }
 
-create dataset MyData(MyRecord)
-  primary key id;
-
-load dataset MyData 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/spatial/spatialDataNulls.json"),("format"="adm")) pre-sorted;
-
-create dataset MyMiniData(MyMiniRecord)
-  primary key id;
-
-create index rtree_index_point on MyMiniData(point) type rtree;
-
-insert into dataset MyMiniData
-(
-	for $m in dataset('MyData')
-	return {
-		"id": $m.id,
-		"point": $m.point
-	}
-);
-
-write output to nc1:"rttest/dml_scan-insert-rtree-secondary-index-nullable.adm";
-
-for $o in dataset('MyMiniData')
-where spatial-intersect($o.point, create-polygon(create-point(0.0,1.0), create-point(0.0,4.0), create-point(12.0,4.0), create-point(12.0,1.0)))
-order by $o.id
-return {"id":$o.id}
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index-nullable/scan-insert-rtree-secondary-index-nullable.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index-nullable/scan-insert-rtree-secondary-index-nullable.2.update.aql
index a3d38eb..0548b93 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index-nullable/scan-insert-rtree-secondary-index-nullable.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index-nullable/scan-insert-rtree-secondary-index-nullable.2.update.aql
@@ -5,26 +5,8 @@
  * Date            : May 12 2012
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type MyRecord as closed {
-  id: int32,
-  point: point?,
-  kwds: string,
-  line1: line,
-  line2: line,
-  poly1: polygon,
-  poly2: polygon,
-  rec: rectangle
-}
-
-create type MyMiniRecord as closed {
-  id: int32,
-  point: point?
-}
-
 create dataset MyData(MyRecord)
   primary key id;
 
@@ -46,9 +28,3 @@
 	}
 );
 
-write output to nc1:"rttest/dml_scan-insert-rtree-secondary-index-nullable.adm";
-
-for $o in dataset('MyMiniData')
-where spatial-intersect($o.point, create-polygon(create-point(0.0,1.0), create-point(0.0,4.0), create-point(12.0,4.0), create-point(12.0,1.0)))
-order by $o.id
-return {"id":$o.id}
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index-nullable/scan-insert-rtree-secondary-index-nullable.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index-nullable/scan-insert-rtree-secondary-index-nullable.3.query.aql
index a3d38eb..d3e9cbb 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index-nullable/scan-insert-rtree-secondary-index-nullable.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index-nullable/scan-insert-rtree-secondary-index-nullable.3.query.aql
@@ -5,49 +5,8 @@
  * Date            : May 12 2012
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type MyRecord as closed {
-  id: int32,
-  point: point?,
-  kwds: string,
-  line1: line,
-  line2: line,
-  poly1: polygon,
-  poly2: polygon,
-  rec: rectangle
-}
-
-create type MyMiniRecord as closed {
-  id: int32,
-  point: point?
-}
-
-create dataset MyData(MyRecord)
-  primary key id;
-
-load dataset MyData 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/spatial/spatialDataNulls.json"),("format"="adm")) pre-sorted;
-
-create dataset MyMiniData(MyMiniRecord)
-  primary key id;
-
-create index rtree_index_point on MyMiniData(point) type rtree;
-
-insert into dataset MyMiniData
-(
-	for $m in dataset('MyData')
-	return {
-		"id": $m.id,
-		"point": $m.point
-	}
-);
-
-write output to nc1:"rttest/dml_scan-insert-rtree-secondary-index-nullable.adm";
-
 for $o in dataset('MyMiniData')
 where spatial-intersect($o.point, create-polygon(create-point(0.0,1.0), create-point(0.0,4.0), create-point(12.0,4.0), create-point(12.0,1.0)))
 order by $o.id
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index/scan-insert-rtree-secondary-index.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index/scan-insert-rtree-secondary-index.1.ddl.aql
index 0ed6488..a8c81e9 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index/scan-insert-rtree-secondary-index.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index/scan-insert-rtree-secondary-index.1.ddl.aql
@@ -1,6 +1,5 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type MyRecord as closed {
   id: int32,
@@ -19,35 +18,3 @@
   point: point
 }
 
-create dataset MyData(MyRecord)
-  primary key id;
-
-load dataset MyData 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/spatial/spatialData.json"),("format"="adm")) pre-sorted;
-
-create dataset MyMiniData(MyMiniRecord)
-  primary key id;
-
-load dataset MyMiniData 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/spatial/spatialData0.json"),("format"="adm")) pre-sorted;
-
-create index rtree_index_point_0 on MyData(point) type rtree;
-create index rtree_index_point on MyMiniData(point) type rtree;
-
-insert into dataset MyMiniData
-(
-	for $m in dataset('MyData')
-	return {
-		"id": $m.id,
-		"point": $m.point
-	}
-);
-
-write output to nc1:"rttest/dml_scan-insert-rtree-secondary-index.adm";
-
-for $o in dataset('MyMiniData')
-where spatial-intersect($o.point, create-polygon(create-point(0.0,1.0), create-point(0.0,4.0), create-point(12.0,4.0), create-point(12.0,1.0)))
-order by $o.id
-return {"id":$o.id}
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index/scan-insert-rtree-secondary-index.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index/scan-insert-rtree-secondary-index.2.update.aql
index 0ed6488..6a55a9a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index/scan-insert-rtree-secondary-index.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index/scan-insert-rtree-secondary-index.2.update.aql
@@ -1,24 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type MyRecord as closed {
-  id: int32,
-  point: point,
-  kwds: string,
-  line1: line,
-  line2: line,
-  poly1: polygon,
-  poly2: polygon,
-  rec: rectangle,
-  circle: circle
-}
-
-create type MyMiniRecord as closed {
-  id: int32,
-  point: point
-}
-
 create dataset MyData(MyRecord)
   primary key id;
 
@@ -45,9 +26,3 @@
 	}
 );
 
-write output to nc1:"rttest/dml_scan-insert-rtree-secondary-index.adm";
-
-for $o in dataset('MyMiniData')
-where spatial-intersect($o.point, create-polygon(create-point(0.0,1.0), create-point(0.0,4.0), create-point(12.0,4.0), create-point(12.0,1.0)))
-order by $o.id
-return {"id":$o.id}
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index/scan-insert-rtree-secondary-index.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index/scan-insert-rtree-secondary-index.3.query.aql
index 0ed6488..412f7da 100644
--- a/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index/scan-insert-rtree-secondary-index.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index/scan-insert-rtree-secondary-index.3.query.aql
@@ -1,52 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type MyRecord as closed {
-  id: int32,
-  point: point,
-  kwds: string,
-  line1: line,
-  line2: line,
-  poly1: polygon,
-  poly2: polygon,
-  rec: rectangle,
-  circle: circle
-}
-
-create type MyMiniRecord as closed {
-  id: int32,
-  point: point
-}
-
-create dataset MyData(MyRecord)
-  primary key id;
-
-load dataset MyData 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/spatial/spatialData.json"),("format"="adm")) pre-sorted;
-
-create dataset MyMiniData(MyMiniRecord)
-  primary key id;
-
-load dataset MyMiniData 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/spatial/spatialData0.json"),("format"="adm")) pre-sorted;
-
-create index rtree_index_point_0 on MyData(point) type rtree;
-create index rtree_index_point on MyMiniData(point) type rtree;
-
-insert into dataset MyMiniData
-(
-	for $m in dataset('MyData')
-	return {
-		"id": $m.id,
-		"point": $m.point
-	}
-);
-
-write output to nc1:"rttest/dml_scan-insert-rtree-secondary-index.adm";
-
 for $o in dataset('MyMiniData')
 where spatial-intersect($o.point, create-polygon(create-point(0.0,1.0), create-point(0.0,4.0), create-point(12.0,4.0), create-point(12.0,1.0)))
 order by $o.id
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/uery-issue205/uery-issue205.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/uery-issue205/uery-issue205.2.update.aql
deleted file mode 100644
index 3a2ad40..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/dml/uery-issue205/uery-issue205.2.update.aql
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Description  : This test case is to verify the fix for issue205
- 				: https://code.google.com/p/asterixdb/issues/detail?id=205
- * Expected Res : Success
- * Date         : 26th November 2012
- */
-
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-create type EmployeeStat as open {
-  age: int32,
-  salary:int32
-}
-
-create type EmployeeType as closed {
-  id:string,
-  stat:EmployeeStat,
-  deptCode:int32
-}
-
-create dataset Employees(EmployeeType)
-  primary key id;
-
-insert into dataset Employees({"id":"1234", "stat":{ "age":50, "salary":120000}, "deptCode":32 });
-insert into dataset Employees({"id":"5678", "stat":{ "age":40, "salary":100000}, "deptCode":16 });
-
-delete $l from dataset Employees where $l.id = "1234";
-
-write output to nc1:"rttest/dml_query-issue205.adm";
-for $l in dataset('Employees')
-return $l
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/uery-issue205/uery-issue205.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/dml/uery-issue205/uery-issue205.3.query.aql
deleted file mode 100644
index 3a2ad40..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/dml/uery-issue205/uery-issue205.3.query.aql
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Description  : This test case is to verify the fix for issue205
- 				: https://code.google.com/p/asterixdb/issues/detail?id=205
- * Expected Res : Success
- * Date         : 26th November 2012
- */
-
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-create type EmployeeStat as open {
-  age: int32,
-  salary:int32
-}
-
-create type EmployeeType as closed {
-  id:string,
-  stat:EmployeeStat,
-  deptCode:int32
-}
-
-create dataset Employees(EmployeeType)
-  primary key id;
-
-insert into dataset Employees({"id":"1234", "stat":{ "age":50, "salary":120000}, "deptCode":32 });
-insert into dataset Employees({"id":"5678", "stat":{ "age":40, "salary":100000}, "deptCode":16 });
-
-delete $l from dataset Employees where $l.id = "1234";
-
-write output to nc1:"rttest/dml_query-issue205.adm";
-for $l in dataset('Employees')
-return $l
diff --git a/asterix-app/src/test/resources/runtimets/queries/failure/1_pricing_summary_report_failure/1_pricing_summary_report_failure.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/failure/1_pricing_summary_report_failure/1_pricing_summary_report_failure.1.ddl.aql
deleted file mode 100644
index 58db4b8..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/failure/1_pricing_summary_report_failure/1_pricing_summary_report_failure.1.ddl.aql
+++ /dev/null
@@ -1,53 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: double, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-
-write output to nc1:"rttest/failure_q1_pricing_summary_report_failure.adm";
- 
-for $l in dataset('LineItem')
-//where inject-failure($l.l_shipdate <= '1998-09-02', $l.l_orderkey=5999)
-/*+ hash*/
-group by $l_returnflag := $l.l_returnflag, $l_linestatus := $l.l_linestatus  
-  with $l
-order by $l_returnflag, $l_linestatus
-return {
-  "l_returnflag": $l_returnflag,
-  "l_linestatus": $l_linestatus,
-  "sum_qty": sum(for $i in $l return $i.l_quantity),
-  "sum_base_price": sum(for $i in $l return $i.l_extendedprice),
-  "sum_disc_price": sum(for $i in $l return $i.l_extendedprice * (1 - $i.l_discount)),
-  "sum_charge": sum(for $i in $l return $i.l_extendedprice * (1 - $i.l_discount) * (1 + $i.l_tax)),
-  "ave_qty": avg(for $i in $l return $i.l_quantity),  
-  "ave_price": avg(for $i in $l return $i.l_extendedprice),
-  "ave_disc": avg(for $i in $l return $i.l_discount),
-  "count_order": count($l)
-}   
diff --git a/asterix-app/src/test/resources/runtimets/queries/failure/1_pricing_summary_report_failure/1_pricing_summary_report_failure.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/failure/1_pricing_summary_report_failure/1_pricing_summary_report_failure.2.update.aql
deleted file mode 100644
index 58db4b8..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/failure/1_pricing_summary_report_failure/1_pricing_summary_report_failure.2.update.aql
+++ /dev/null
@@ -1,53 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: double, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-
-write output to nc1:"rttest/failure_q1_pricing_summary_report_failure.adm";
- 
-for $l in dataset('LineItem')
-//where inject-failure($l.l_shipdate <= '1998-09-02', $l.l_orderkey=5999)
-/*+ hash*/
-group by $l_returnflag := $l.l_returnflag, $l_linestatus := $l.l_linestatus  
-  with $l
-order by $l_returnflag, $l_linestatus
-return {
-  "l_returnflag": $l_returnflag,
-  "l_linestatus": $l_linestatus,
-  "sum_qty": sum(for $i in $l return $i.l_quantity),
-  "sum_base_price": sum(for $i in $l return $i.l_extendedprice),
-  "sum_disc_price": sum(for $i in $l return $i.l_extendedprice * (1 - $i.l_discount)),
-  "sum_charge": sum(for $i in $l return $i.l_extendedprice * (1 - $i.l_discount) * (1 + $i.l_tax)),
-  "ave_qty": avg(for $i in $l return $i.l_quantity),  
-  "ave_price": avg(for $i in $l return $i.l_extendedprice),
-  "ave_disc": avg(for $i in $l return $i.l_discount),
-  "count_order": count($l)
-}   
diff --git a/asterix-app/src/test/resources/runtimets/queries/failure/1_pricing_summary_report_failure/1_pricing_summary_report_failure.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/failure/1_pricing_summary_report_failure/1_pricing_summary_report_failure.3.query.aql
deleted file mode 100644
index 58db4b8..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/failure/1_pricing_summary_report_failure/1_pricing_summary_report_failure.3.query.aql
+++ /dev/null
@@ -1,53 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: double, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-
-write output to nc1:"rttest/failure_q1_pricing_summary_report_failure.adm";
- 
-for $l in dataset('LineItem')
-//where inject-failure($l.l_shipdate <= '1998-09-02', $l.l_orderkey=5999)
-/*+ hash*/
-group by $l_returnflag := $l.l_returnflag, $l_linestatus := $l.l_linestatus  
-  with $l
-order by $l_returnflag, $l_linestatus
-return {
-  "l_returnflag": $l_returnflag,
-  "l_linestatus": $l_linestatus,
-  "sum_qty": sum(for $i in $l return $i.l_quantity),
-  "sum_base_price": sum(for $i in $l return $i.l_extendedprice),
-  "sum_disc_price": sum(for $i in $l return $i.l_extendedprice * (1 - $i.l_discount)),
-  "sum_charge": sum(for $i in $l return $i.l_extendedprice * (1 - $i.l_discount) * (1 + $i.l_tax)),
-  "ave_qty": avg(for $i in $l return $i.l_quantity),  
-  "ave_price": avg(for $i in $l return $i.l_extendedprice),
-  "ave_disc": avg(for $i in $l return $i.l_discount),
-  "count_order": count($l)
-}   
diff --git a/asterix-app/src/test/resources/runtimets/queries/failure/delete-rtree/delete-rtree.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/failure/delete-rtree/delete-rtree.1.ddl.aql
index f883454..3d3989c 100644
--- a/asterix-app/src/test/resources/runtimets/queries/failure/delete-rtree/delete-rtree.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/failure/delete-rtree/delete-rtree.1.ddl.aql
@@ -1,7 +1,6 @@
 drop dataverse test if exists;
   
 create dataverse test;
-use dataverse test;
 
 create type MyRecord as closed {
 	id: int32,
@@ -11,17 +10,3 @@
 	text: string
 }
 
-create dataset MyData(MyRecord)
-  primary key id;
-
-load dataset MyData 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/twitter/smalltweets.txt"),("format"="adm")) pre-sorted;
-
-delete $l from dataset MyData where $l.id>=50 die after 1500;
-
-write output to nc1:"rttest/failure_delete-rtree.adm";      
-
-for $o in dataset('MyData')
-order by $o.id
-return {"id":$o.id}
diff --git a/asterix-app/src/test/resources/runtimets/queries/failure/delete-rtree/delete-rtree.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/failure/delete-rtree/delete-rtree.2.update.aql
index f883454..3196268 100644
--- a/asterix-app/src/test/resources/runtimets/queries/failure/delete-rtree/delete-rtree.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/failure/delete-rtree/delete-rtree.2.update.aql
@@ -1,16 +1,5 @@
-drop dataverse test if exists;
-  
-create dataverse test;
 use dataverse test;
 
-create type MyRecord as closed {
-	id: int32,
-	tweetid: int64,
-	loc: point,
-	time: datetime,
-	text: string
-}
-
 create dataset MyData(MyRecord)
   primary key id;
 
@@ -20,8 +9,3 @@
 
 delete $l from dataset MyData where $l.id>=50 die after 1500;
 
-write output to nc1:"rttest/failure_delete-rtree.adm";      
-
-for $o in dataset('MyData')
-order by $o.id
-return {"id":$o.id}
diff --git a/asterix-app/src/test/resources/runtimets/queries/failure/delete-rtree/delete-rtree.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/failure/delete-rtree/delete-rtree.3.query.aql
index f883454..b33019b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/failure/delete-rtree/delete-rtree.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/failure/delete-rtree/delete-rtree.3.query.aql
@@ -1,27 +1,5 @@
-drop dataverse test if exists;
-  
-create dataverse test;
 use dataverse test;
 
-create type MyRecord as closed {
-	id: int32,
-	tweetid: int64,
-	loc: point,
-	time: datetime,
-	text: string
-}
-
-create dataset MyData(MyRecord)
-  primary key id;
-
-load dataset MyData 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/twitter/smalltweets.txt"),("format"="adm")) pre-sorted;
-
-delete $l from dataset MyData where $l.id>=50 die after 1500;
-
-write output to nc1:"rttest/failure_delete-rtree.adm";      
-
 for $o in dataset('MyData')
 order by $o.id
 return {"id":$o.id}
diff --git a/asterix-app/src/test/resources/runtimets/queries/failure/delete/delete.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/failure/delete/delete.1.ddl.aql
index 7bf558b..23e9a0d 100644
--- a/asterix-app/src/test/resources/runtimets/queries/failure/delete/delete.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/failure/delete/delete.1.ddl.aql
@@ -1,7 +1,7 @@
 drop dataverse test if exists;
   
 create dataverse test;
-use dataverse test;
+
 
 create type LineItemType as closed {
   l_orderkey: int32, 
@@ -22,17 +22,3 @@
   l_comment: string
 }
 
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-delete $l from dataset LineItem where $l.l_orderkey>=10 die after 1500;
-
-write output to nc1:"rttest/failure_delete.adm";      
-for $c in dataset('LineItem')
-where $c.l_orderkey>=10
-order by $c.l_orderkey, $c.l_linenumber
-return $c 
diff --git a/asterix-app/src/test/resources/runtimets/queries/failure/delete/delete.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/failure/delete/delete.2.update.aql
index 7bf558b..80373df 100644
--- a/asterix-app/src/test/resources/runtimets/queries/failure/delete/delete.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/failure/delete/delete.2.update.aql
@@ -1,27 +1,5 @@
-drop dataverse test if exists;
-  
-create dataverse test;
 use dataverse test;
 
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
 create dataset LineItem(LineItemType)
   primary key l_orderkey, l_linenumber;
 
@@ -31,8 +9,3 @@
 
 delete $l from dataset LineItem where $l.l_orderkey>=10 die after 1500;
 
-write output to nc1:"rttest/failure_delete.adm";      
-for $c in dataset('LineItem')
-where $c.l_orderkey>=10
-order by $c.l_orderkey, $c.l_linenumber
-return $c 
diff --git a/asterix-app/src/test/resources/runtimets/queries/failure/delete/delete.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/failure/delete/delete.3.query.aql
index 7bf558b..9375d30 100644
--- a/asterix-app/src/test/resources/runtimets/queries/failure/delete/delete.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/failure/delete/delete.3.query.aql
@@ -1,37 +1,5 @@
-drop dataverse test if exists;
-  
-create dataverse test;
 use dataverse test;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-delete $l from dataset LineItem where $l.l_orderkey>=10 die after 1500;
-
-write output to nc1:"rttest/failure_delete.adm";      
+    
 for $c in dataset('LineItem')
 where $c.l_orderkey>=10
 order by $c.l_orderkey, $c.l_linenumber
diff --git a/asterix-app/src/test/resources/runtimets/queries/failure/insert-rtree/insert-rtree.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/failure/insert-rtree/insert-rtree.1.ddl.aql
index 9530df5..550384c 100644
--- a/asterix-app/src/test/resources/runtimets/queries/failure/insert-rtree/insert-rtree.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/failure/insert-rtree/insert-rtree.1.ddl.aql
@@ -1,7 +1,6 @@
 drop dataverse test if exists;
 
 create dataverse test;
-use dataverse test;
 
 create type MyRecord as closed {
 	id: int32,
@@ -16,48 +15,3 @@
   loc: point
 }
 
-create dataset MyData(MyRecord)
-  primary key id;
-
-load dataset MyData 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/twitter/smalltweets.txt"),("format"="adm")) pre-sorted;
-
-
-create dataset MyMiniData(MyMiniRecord)
-  primary key id;
-
-load dataset MyMiniData 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/spatial/spatialData0.json"),("format"="adm")) pre-sorted;
-
-
-create index rtree_index_loc_0 on MyData(loc) type rtree;
-create index rtree_index_loc on MyMiniData(loc) type rtree;
-
-insert into dataset MyMiniData
-(
-	for $m in dataset('MyData')
-	where $m.id<1000
-	return {
-		"id": $m.id,
-		"loc": $m.loc
-	}
-);
-
-insert into dataset MyMiniData
-(
-	for $m in dataset('MyData')
-	where $m.id>=1000
-	die after 1000
-	return {
-		"id": $m.id,
-		"loc": $m.loc
-	}
-);
-
-write output to nc1:"rttest/failure_insert-rtree.adm";
-
-for $o in dataset('MyMiniData')
-order by $o.id
-return {"id":$o.id}
diff --git a/asterix-app/src/test/resources/runtimets/queries/failure/insert-rtree/insert-rtree.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/failure/insert-rtree/insert-rtree.2.update.aql
index 9530df5..738b81b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/failure/insert-rtree/insert-rtree.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/failure/insert-rtree/insert-rtree.2.update.aql
@@ -1,21 +1,5 @@
-drop dataverse test if exists;
-
-create dataverse test;
 use dataverse test;
 
-create type MyRecord as closed {
-	id: int32,
-	tweetid: int64,
-	loc: point,
-	time: datetime,
-	text: string
-}
-
-create type MyMiniRecord as closed {
-  id: int32,
-  loc: point
-}
-
 create dataset MyData(MyRecord)
   primary key id;
 
@@ -56,8 +40,3 @@
 	}
 );
 
-write output to nc1:"rttest/failure_insert-rtree.adm";
-
-for $o in dataset('MyMiniData')
-order by $o.id
-return {"id":$o.id}
diff --git a/asterix-app/src/test/resources/runtimets/queries/failure/insert-rtree/insert-rtree.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/failure/insert-rtree/insert-rtree.3.query.aql
index 9530df5..6c75ca2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/failure/insert-rtree/insert-rtree.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/failure/insert-rtree/insert-rtree.3.query.aql
@@ -1,63 +1,5 @@
-drop dataverse test if exists;
-
-create dataverse test;
 use dataverse test;
 
-create type MyRecord as closed {
-	id: int32,
-	tweetid: int64,
-	loc: point,
-	time: datetime,
-	text: string
-}
-
-create type MyMiniRecord as closed {
-  id: int32,
-  loc: point
-}
-
-create dataset MyData(MyRecord)
-  primary key id;
-
-load dataset MyData 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/twitter/smalltweets.txt"),("format"="adm")) pre-sorted;
-
-
-create dataset MyMiniData(MyMiniRecord)
-  primary key id;
-
-load dataset MyMiniData 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/spatial/spatialData0.json"),("format"="adm")) pre-sorted;
-
-
-create index rtree_index_loc_0 on MyData(loc) type rtree;
-create index rtree_index_loc on MyMiniData(loc) type rtree;
-
-insert into dataset MyMiniData
-(
-	for $m in dataset('MyData')
-	where $m.id<1000
-	return {
-		"id": $m.id,
-		"loc": $m.loc
-	}
-);
-
-insert into dataset MyMiniData
-(
-	for $m in dataset('MyData')
-	where $m.id>=1000
-	die after 1000
-	return {
-		"id": $m.id,
-		"loc": $m.loc
-	}
-);
-
-write output to nc1:"rttest/failure_insert-rtree.adm";
-
 for $o in dataset('MyMiniData')
 order by $o.id
 return {"id":$o.id}
diff --git a/asterix-app/src/test/resources/runtimets/queries/failure/insert/insert.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/failure/insert/insert.1.ddl.aql
index 0309b7c..12f98fd 100644
--- a/asterix-app/src/test/resources/runtimets/queries/failure/insert/insert.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/failure/insert/insert.1.ddl.aql
@@ -1,7 +1,6 @@
 drop dataverse test if exists;
   
 create dataverse test;
-use dataverse test;
 
 create type LineItemType as closed {
   l_orderkey: int32, 
@@ -28,43 +27,4 @@
   l_suppkey: int32
 }
 
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-
-create dataset LineID(LineIDType)
-  primary key l_orderkey, l_linenumber;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset LineID 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem_0.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-insert into dataset LineID (
-for $l in dataset('LineItem')
-	where $l.l_orderkey<1000
-	return {
-		"l_orderkey": $l.l_orderkey,
-		"l_linenumber": $l.l_linenumber,
-		"l_suppkey": $l.l_partkey
-	}
-);
-
-insert into dataset LineID (
-for $l in dataset('LineItem')
-	where $l.l_orderkey>=1000
-	die after 1000
-	return {
-		"l_orderkey": $l.l_orderkey,
-		"l_linenumber": $l.l_linenumber,
-		"l_suppkey": $l.l_partkey
-	}
-);
-
-write output to nc1:"rttest/failure_insert.adm";      
-for $c in dataset('LineID')
-order by $c.l_orderkey, $c.l_linenumber
-return $c 
 
diff --git a/asterix-app/src/test/resources/runtimets/queries/failure/insert/insert.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/failure/insert/insert.2.update.aql
index 0309b7c..37a57b4 100644
--- a/asterix-app/src/test/resources/runtimets/queries/failure/insert/insert.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/failure/insert/insert.2.update.aql
@@ -1,33 +1,5 @@
-drop dataverse test if exists;
-  
-create dataverse test;
 use dataverse test;
 
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: double, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type LineIDType as closed {
-  l_orderkey: int32, 
-  l_linenumber: int32, 
-  l_suppkey: int32
-}
-
 create dataset LineItem(LineItemType)
   primary key l_orderkey, l_linenumber;
 
@@ -63,8 +35,4 @@
 	}
 );
 
-write output to nc1:"rttest/failure_insert.adm";      
-for $c in dataset('LineID')
-order by $c.l_orderkey, $c.l_linenumber
-return $c 
 
diff --git a/asterix-app/src/test/resources/runtimets/queries/failure/insert/insert.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/failure/insert/insert.3.query.aql
index 0309b7c..91b918c 100644
--- a/asterix-app/src/test/resources/runtimets/queries/failure/insert/insert.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/failure/insert/insert.3.query.aql
@@ -1,68 +1,5 @@
-drop dataverse test if exists;
-  
-create dataverse test;
 use dataverse test;
 
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: double, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type LineIDType as closed {
-  l_orderkey: int32, 
-  l_linenumber: int32, 
-  l_suppkey: int32
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-
-create dataset LineID(LineIDType)
-  primary key l_orderkey, l_linenumber;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset LineID 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem_0.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-insert into dataset LineID (
-for $l in dataset('LineItem')
-	where $l.l_orderkey<1000
-	return {
-		"l_orderkey": $l.l_orderkey,
-		"l_linenumber": $l.l_linenumber,
-		"l_suppkey": $l.l_partkey
-	}
-);
-
-insert into dataset LineID (
-for $l in dataset('LineItem')
-	where $l.l_orderkey>=1000
-	die after 1000
-	return {
-		"l_orderkey": $l.l_orderkey,
-		"l_linenumber": $l.l_linenumber,
-		"l_suppkey": $l.l_partkey
-	}
-);
-
 write output to nc1:"rttest/failure_insert.adm";      
 for $c in dataset('LineID')
 order by $c.l_orderkey, $c.l_linenumber
diff --git a/asterix-app/src/test/resources/runtimets/queries/failure/q1_pricing_summary_report_failure/q1_pricing_summary_report_failure.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/failure/q1_pricing_summary_report_failure/q1_pricing_summary_report_failure.1.ddl.aql
new file mode 100644
index 0000000..c50d674
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/failure/q1_pricing_summary_report_failure/q1_pricing_summary_report_failure.1.ddl.aql
@@ -0,0 +1,23 @@
+drop dataverse tpch if exists;
+create dataverse tpch;
+
+
+create type LineItemType as closed {
+  l_orderkey: int32, 
+  l_partkey: int32, 
+  l_suppkey: int32, 
+  l_linenumber: int32, 
+  l_quantity: double, 
+  l_extendedprice: double,
+  l_discount: double, 
+  l_tax: double,
+  l_returnflag: string, 
+  l_linestatus: string, 
+  l_shipdate: string,
+  l_commitdate: string, 
+  l_receiptdate: string, 
+  l_shipinstruct: string, 
+  l_shipmode: string, 
+  l_comment: string
+}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/failure/q1_pricing_summary_report_failure/q1_pricing_summary_report_failure.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/failure/q1_pricing_summary_report_failure/q1_pricing_summary_report_failure.2.update.aql
new file mode 100644
index 0000000..cf309aa
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/failure/q1_pricing_summary_report_failure/q1_pricing_summary_report_failure.2.update.aql
@@ -0,0 +1,9 @@
+use dataverse tpch;
+
+create dataset LineItem(LineItemType)
+  primary key l_orderkey, l_linenumber;
+
+load dataset LineItem 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/failure/q1_pricing_summary_report_failure/q1_pricing_summary_report_failure.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/failure/q1_pricing_summary_report_failure/q1_pricing_summary_report_failure.3.query.aql
new file mode 100644
index 0000000..c80a20a
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/failure/q1_pricing_summary_report_failure/q1_pricing_summary_report_failure.3.query.aql
@@ -0,0 +1,21 @@
+use dataverse tpch;
+
+ 
+for $l in dataset('LineItem')
+//where inject-failure($l.l_shipdate <= '1998-09-02', $l.l_orderkey=5999)
+/*+ hash*/
+group by $l_returnflag := $l.l_returnflag, $l_linestatus := $l.l_linestatus  
+  with $l
+order by $l_returnflag, $l_linestatus
+return {
+  "l_returnflag": $l_returnflag,
+  "l_linestatus": $l_linestatus,
+  "sum_qty": sum(for $i in $l return $i.l_quantity),
+  "sum_base_price": sum(for $i in $l return $i.l_extendedprice),
+  "sum_disc_price": sum(for $i in $l return $i.l_extendedprice * (1 - $i.l_discount)),
+  "sum_charge": sum(for $i in $l return $i.l_extendedprice * (1 - $i.l_discount) * (1 + $i.l_tax)),
+  "ave_qty": avg(for $i in $l return $i.l_quantity),  
+  "ave_price": avg(for $i in $l return $i.l_extendedprice),
+  "ave_disc": avg(for $i in $l return $i.l_discount),
+  "count_order": count($l)
+}   
diff --git a/asterix-app/src/test/resources/runtimets/queries/failure/verify_delete-rtree/verify_delete-rtree.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/failure/verify_delete-rtree/verify_delete-rtree.1.ddl.aql
index 5678681..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/failure/verify_delete-rtree/verify_delete-rtree.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/failure/verify_delete-rtree/verify_delete-rtree.1.ddl.aql
@@ -1,7 +0,0 @@
-use dataverse test;
-
-write output to nc1:"rttest/failure_verify_delete-rtree.adm";
-
-for $o in dataset('MyData')
-order by $o.id
-return {"id":$o.id}
diff --git a/asterix-app/src/test/resources/runtimets/queries/failure/verify_delete-rtree/verify_delete-rtree.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/failure/verify_delete-rtree/verify_delete-rtree.2.update.aql
index 5678681..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/failure/verify_delete-rtree/verify_delete-rtree.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/failure/verify_delete-rtree/verify_delete-rtree.2.update.aql
@@ -1,7 +0,0 @@
-use dataverse test;
-
-write output to nc1:"rttest/failure_verify_delete-rtree.adm";
-
-for $o in dataset('MyData')
-order by $o.id
-return {"id":$o.id}
diff --git a/asterix-app/src/test/resources/runtimets/queries/failure/verify_delete-rtree/verify_delete-rtree.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/failure/verify_delete-rtree/verify_delete-rtree.3.query.aql
index 5678681..b33019b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/failure/verify_delete-rtree/verify_delete-rtree.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/failure/verify_delete-rtree/verify_delete-rtree.3.query.aql
@@ -1,7 +1,5 @@
 use dataverse test;
 
-write output to nc1:"rttest/failure_verify_delete-rtree.adm";
-
 for $o in dataset('MyData')
 order by $o.id
 return {"id":$o.id}
diff --git a/asterix-app/src/test/resources/runtimets/queries/failure/verify_delete/verify_delete.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/failure/verify_delete/verify_delete.1.ddl.aql
index 61006a4..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/failure/verify_delete/verify_delete.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/failure/verify_delete/verify_delete.1.ddl.aql
@@ -1,8 +0,0 @@
-use dataverse test;
-
-write output to nc1:"rttest/failure_verify_delete.adm";
-
-for $c in dataset('LineItem')
-where $c.l_orderkey>=10
-order by $c.l_orderkey, $c.l_linenumber
-return $c
diff --git a/asterix-app/src/test/resources/runtimets/queries/failure/verify_delete/verify_delete.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/failure/verify_delete/verify_delete.2.update.aql
index 61006a4..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/failure/verify_delete/verify_delete.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/failure/verify_delete/verify_delete.2.update.aql
@@ -1,8 +0,0 @@
-use dataverse test;
-
-write output to nc1:"rttest/failure_verify_delete.adm";
-
-for $c in dataset('LineItem')
-where $c.l_orderkey>=10
-order by $c.l_orderkey, $c.l_linenumber
-return $c
diff --git a/asterix-app/src/test/resources/runtimets/queries/failure/verify_delete/verify_delete.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/failure/verify_delete/verify_delete.3.query.aql
index 61006a4..2a0f3e4 100644
--- a/asterix-app/src/test/resources/runtimets/queries/failure/verify_delete/verify_delete.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/failure/verify_delete/verify_delete.3.query.aql
@@ -1,7 +1,5 @@
 use dataverse test;
 
-write output to nc1:"rttest/failure_verify_delete.adm";
-
 for $c in dataset('LineItem')
 where $c.l_orderkey>=10
 order by $c.l_orderkey, $c.l_linenumber
diff --git a/asterix-app/src/test/resources/runtimets/queries/failure/verify_insert-rtree/verify_insert-rtree.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/failure/verify_insert-rtree/verify_insert-rtree.1.ddl.aql
index 3e52732..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/failure/verify_insert-rtree/verify_insert-rtree.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/failure/verify_insert-rtree/verify_insert-rtree.1.ddl.aql
@@ -1,7 +0,0 @@
-use dataverse test;
-
-write output to nc1:"rttest/failure_verify_insert-rtree.adm";
-
-for $o in dataset('MyMiniData')
-order by $o.id
-return {"id":$o.id}
diff --git a/asterix-app/src/test/resources/runtimets/queries/failure/verify_insert-rtree/verify_insert-rtree.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/failure/verify_insert-rtree/verify_insert-rtree.2.update.aql
index 3e52732..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/failure/verify_insert-rtree/verify_insert-rtree.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/failure/verify_insert-rtree/verify_insert-rtree.2.update.aql
@@ -1,7 +0,0 @@
-use dataverse test;
-
-write output to nc1:"rttest/failure_verify_insert-rtree.adm";
-
-for $o in dataset('MyMiniData')
-order by $o.id
-return {"id":$o.id}
diff --git a/asterix-app/src/test/resources/runtimets/queries/failure/verify_insert-rtree/verify_insert-rtree.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/failure/verify_insert-rtree/verify_insert-rtree.3.query.aql
index 3e52732..6c75ca2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/failure/verify_insert-rtree/verify_insert-rtree.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/failure/verify_insert-rtree/verify_insert-rtree.3.query.aql
@@ -1,7 +1,5 @@
 use dataverse test;
 
-write output to nc1:"rttest/failure_verify_insert-rtree.adm";
-
 for $o in dataset('MyMiniData')
 order by $o.id
 return {"id":$o.id}
diff --git a/asterix-app/src/test/resources/runtimets/queries/failure/verify_insert/verify_insert.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/failure/verify_insert/verify_insert.1.ddl.aql
index 97ca9ae..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/failure/verify_insert/verify_insert.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/failure/verify_insert/verify_insert.1.ddl.aql
@@ -1,7 +0,0 @@
-use dataverse test;
-
-write output to nc1:"rttest/failure_verify_insert.adm";
-
-for $c in dataset('LineID')
-order by $c.l_orderkey, $c.l_linenumber
-return $c
diff --git a/asterix-app/src/test/resources/runtimets/queries/failure/verify_insert/verify_insert.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/failure/verify_insert/verify_insert.2.update.aql
index 97ca9ae..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/failure/verify_insert/verify_insert.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/failure/verify_insert/verify_insert.2.update.aql
@@ -1,7 +0,0 @@
-use dataverse test;
-
-write output to nc1:"rttest/failure_verify_insert.adm";
-
-for $c in dataset('LineID')
-order by $c.l_orderkey, $c.l_linenumber
-return $c
diff --git a/asterix-app/src/test/resources/runtimets/queries/failure/verify_insert/verify_insert.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/failure/verify_insert/verify_insert.3.query.aql
index 97ca9ae..4cb52c5 100644
--- a/asterix-app/src/test/resources/runtimets/queries/failure/verify_insert/verify_insert.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/failure/verify_insert/verify_insert.3.query.aql
@@ -1,7 +1,5 @@
 use dataverse test;
 
-write output to nc1:"rttest/failure_verify_insert.adm";
-
 for $c in dataset('LineID')
 order by $c.l_orderkey, $c.l_linenumber
 return $c
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et01/et01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et01/et01.1.ddl.aql
deleted file mode 100644
index 7313680..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et01/et01.1.ddl.aql
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let01.adm";
-
-let $x := int64("92233720368547758")
-return $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et01/et01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et01/et01.2.update.aql
deleted file mode 100644
index 7313680..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et01/et01.2.update.aql
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let01.adm";
-
-let $x := int64("92233720368547758")
-return $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et02/et02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et02/et02.1.ddl.aql
deleted file mode 100644
index 8fae4a2..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et02/et02.1.ddl.aql
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let02.adm";
-
-let $x := 92233720368547758
-return $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et02/et02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et02/et02.2.update.aql
deleted file mode 100644
index 8fae4a2..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et02/et02.2.update.aql
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let02.adm";
-
-let $x := 92233720368547758
-return $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et03/et03.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et03/et03.2.update.aql
deleted file mode 100644
index 895630a..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et03/et03.2.update.aql
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let03.adm";
-
-let $x := int64("92233720368547758")+1
-return $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et03/et03.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et03/et03.3.query.aql
deleted file mode 100644
index 895630a..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et03/et03.3.query.aql
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let03.adm";
-
-let $x := int64("92233720368547758")+1
-return $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et04/et04.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et04/et04.2.update.aql
deleted file mode 100644
index fad97fa..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et04/et04.2.update.aql
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let04.adm";
-
-let $x := double("1.7976931348623157E308") 
-return $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et04/et04.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et04/et04.3.query.aql
deleted file mode 100644
index fad97fa..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et04/et04.3.query.aql
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let04.adm";
-
-let $x := double("1.7976931348623157E308") 
-return $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et05/et05.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et05/et05.2.update.aql
deleted file mode 100644
index f718608..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et05/et05.2.update.aql
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let05.adm";
-
-let $x := {"a":(1+1*(100/20))}
-return $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et05/et05.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et05/et05.3.query.aql
deleted file mode 100644
index f718608..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et05/et05.3.query.aql
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let05.adm";
-
-let $x := {"a":(1+1*(100/20))}
-return $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et06/et06.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et06/et06.1.ddl.aql
deleted file mode 100644
index c693a04..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et06/et06.1.ddl.aql
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let06.adm";
-
-let $x := 1
-let $y := $x+1
-return $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et06/et06.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et06/et06.2.update.aql
deleted file mode 100644
index c693a04..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et06/et06.2.update.aql
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let06.adm";
-
-let $x := 1
-let $y := $x+1
-return $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et07/et07.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et07/et07.1.ddl.aql
deleted file mode 100644
index 5abf05e..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et07/et07.1.ddl.aql
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let07.adm";
-
-let $x := 1
-let $y := ($x+1)
-return $y
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et07/et07.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et07/et07.2.update.aql
deleted file mode 100644
index 5abf05e..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et07/et07.2.update.aql
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let07.adm";
-
-let $x := 1
-let $y := ($x+1)
-return $y
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et08/et08.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et08/et08.1.ddl.aql
deleted file mode 100644
index ca38246..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et08/et08.1.ddl.aql
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let08.adm";
-
-let $x:=[1,2,3]
-for $b in $x
-let $y:=$b+1
-return $y
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et08/et08.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et08/et08.2.update.aql
deleted file mode 100644
index ca38246..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et08/et08.2.update.aql
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let08.adm";
-
-let $x:=[1,2,3]
-for $b in $x
-let $y:=$b+1
-return $y
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et09/et09.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et09/et09.1.ddl.aql
deleted file mode 100644
index 0c10d5a..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et09/et09.1.ddl.aql
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let09.adm";
-
-for $a in range(1,100)
-where $a%5=0
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et09/et09.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et09/et09.2.update.aql
deleted file mode 100644
index 0c10d5a..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et09/et09.2.update.aql
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let09.adm";
-
-for $a in range(1,100)
-where $a%5=0
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et10/et10.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et10/et10.2.update.aql
deleted file mode 100644
index a10b28f..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et10/et10.2.update.aql
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let10.adm";
-
-let $x:=[1,2,3,4,5,6,7,8,9,10,11,14,15,17,19,24,35,56,67,77,89,60,35,25,60]
-for $y in $x
-where $y%5=0
-return $y
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et10/et10.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et10/et10.3.query.aql
deleted file mode 100644
index a10b28f..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et10/et10.3.query.aql
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let10.adm";
-
-let $x:=[1,2,3,4,5,6,7,8,9,10,11,14,15,17,19,24,35,56,67,77,89,60,35,25,60]
-for $y in $x
-where $y%5=0
-return $y
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et11/et11.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et11/et11.1.ddl.aql
deleted file mode 100644
index 150b075..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et11/et11.1.ddl.aql
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let11.adm";
-
-// Return an ordered list comprising of records and other values
-
-let $a := ["a",{"i":1},"b",{"j":2},"c",{"k":3}]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et11/et11.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et11/et11.2.update.aql
deleted file mode 100644
index 150b075..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et11/et11.2.update.aql
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let11.adm";
-
-// Return an ordered list comprising of records and other values
-
-let $a := ["a",{"i":1},"b",{"j":2},"c",{"k":3}]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et12/et12.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et12/et12.1.ddl.aql
deleted file mode 100644
index 3061ea8..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et12/et12.1.ddl.aql
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let12.adm";
-
-let $a := 1 
-let $b := $a
-let $c := $a+$b 
-return ($c)
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et12/et12.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et12/et12.2.update.aql
deleted file mode 100644
index 3061ea8..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et12/et12.2.update.aql
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let12.adm";
-
-let $a := 1 
-let $b := $a
-let $c := $a+$b 
-return ($c)
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et13/et13.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et13/et13.2.update.aql
deleted file mode 100644
index cf987b8..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et13/et13.2.update.aql
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Failure - Negative test
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let13.adm";
-
-// Bind an undefined variable.
-
-let $a := $b 
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et13/et13.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et13/et13.3.query.aql
deleted file mode 100644
index cf987b8..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et13/et13.3.query.aql
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Failure - Negative test
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let13.adm";
-
-// Bind an undefined variable.
-
-let $a := $b 
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et14/et14.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et14/et14.1.ddl.aql
deleted file mode 100644
index 524dd97..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et14/et14.1.ddl.aql
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let14.adm";
-
-// nested ordered list
-
-let $a := [[[[[[[[[[[[1,2,3,4,5,6,7,8,9,10],[3,4,5,6,7,8,9,0,0],int64("9222872036854775809")]]]]]]]]]]]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et14/et14.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et14/et14.2.update.aql
deleted file mode 100644
index 524dd97..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et14/et14.2.update.aql
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let14.adm";
-
-// nested ordered list
-
-let $a := [[[[[[[[[[[[1,2,3,4,5,6,7,8,9,10],[3,4,5,6,7,8,9,0,0],int64("9222872036854775809")]]]]]]]]]]]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et15/et15.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et15/et15.1.ddl.aql
deleted file mode 100644
index 52f9862..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et15/et15.1.ddl.aql
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let15.adm";
-
-// nested ordered list comprising of only one integer value.
-
-let $a := [[[[[[[[[[[int64("9222872036854775809")]]]]]]]]]]]
-return ($a)
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et15/et15.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et15/et15.2.update.aql
deleted file mode 100644
index 52f9862..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et15/et15.2.update.aql
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let15.adm";
-
-// nested ordered list comprising of only one integer value.
-
-let $a := [[[[[[[[[[[int64("9222872036854775809")]]]]]]]]]]]
-return ($a)
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et16/et16.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et16/et16.1.ddl.aql
deleted file mode 100644
index b403c3e..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et16/et16.1.ddl.aql
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let16.adm";
-
-let $a := [[[[[[[[[[[int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809")]]]]]]]]]]]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et16/et16.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et16/et16.2.update.aql
deleted file mode 100644
index b403c3e..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et16/et16.2.update.aql
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let16.adm";
-
-let $a := [[[[[[[[[[[int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809")]]]]]]]]]]]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et17/et17.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et17/et17.2.update.aql
deleted file mode 100644
index 4b53f84..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et17/et17.2.update.aql
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let17.adm";
-
-let $a := ["and","here","we","are",["this is new","stuff"]]
-return $a
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et17/et17.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et17/et17.3.query.aql
deleted file mode 100644
index 4b53f84..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et17/et17.3.query.aql
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let17.adm";
-
-let $a := ["and","here","we","are",["this is new","stuff"]]
-return $a
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et18/et18.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et18/et18.2.update.aql
deleted file mode 100644
index 3373323..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et18/et18.2.update.aql
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let18.adm";
-
-// An ordered list comprising of an un ordered list.
-
-let $a:=[{{"John Doe",45,"HR",60000,"Separation"}}]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et18/et18.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et18/et18.3.query.aql
deleted file mode 100644
index 3373323..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et18/et18.3.query.aql
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let18.adm";
-
-// An ordered list comprising of an un ordered list.
-
-let $a:=[{{"John Doe",45,"HR",60000,"Separation"}}]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et19/et19.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et19/et19.1.ddl.aql
deleted file mode 100644
index e46856a..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et19/et19.1.ddl.aql
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-
-// bind and return bag of data
-
-write output to nc1:"rttest/flwor_let19.adm";
-
-let $a:={{"John Doe",45,"HR",60000,"Separation"}}
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et19/et19.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et19/et19.2.update.aql
deleted file mode 100644
index e46856a..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et19/et19.2.update.aql
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-
-// bind and return bag of data
-
-write output to nc1:"rttest/flwor_let19.adm";
-
-let $a:={{"John Doe",45,"HR",60000,"Separation"}}
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et20/et20.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et20/et20.2.update.aql
deleted file mode 100644
index 0172b22..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et20/et20.2.update.aql
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let20.adm";
-
-// An ordered list of un ordered lists, records and ordered list.
-
-let $a:=[{{"John Doe",45,"HR",60000,"Separation"}},{"name":"Roger Sanders","age":50,"dept":"DB2-Books","designatin":"Author"},["DB2 for Z/OS","DB2 for LUW","DB2 9 Application Development","DB2 9 DBA","DB2 for Dummies"]]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et20/et20.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et20/et20.3.query.aql
deleted file mode 100644
index 0172b22..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et20/et20.3.query.aql
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * Description     :  Test let clause
- * Expected Result :  Success
- * Date            :  6th July 2012 
- */
-
-write output to nc1:"rttest/flwor_let20.adm";
-
-// An ordered list of un ordered lists, records and ordered list.
-
-let $a:=[{{"John Doe",45,"HR",60000,"Separation"}},{"name":"Roger Sanders","age":50,"dept":"DB2-Books","designatin":"Author"},["DB2 for Z/OS","DB2 for LUW","DB2 9 Application Development","DB2 9 DBA","DB2 for Dummies"]]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et21/et21.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et21/et21.2.update.aql
deleted file mode 100644
index 1106a75..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et21/et21.2.update.aql
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Description      :  Test let clause
- * Expected Result  :  Success
- * Date             :  23rd July 2012
- */
-
-write output to nc1:"rttest/flwor_let21.adm";
-
-// Ordered list of boolean values.
-
-let $a := [boolean("true"),boolean("false"),boolean("true"),boolean("false")]
-let $b := [boolean("false"),boolean("true"),boolean("false"),boolean("true")]
-for $m in $a
-for $n in $b
-where $m=not($n)
-return $m
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et21/et21.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et21/et21.3.query.aql
deleted file mode 100644
index 1106a75..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et21/et21.3.query.aql
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Description      :  Test let clause
- * Expected Result  :  Success
- * Date             :  23rd July 2012
- */
-
-write output to nc1:"rttest/flwor_let21.adm";
-
-// Ordered list of boolean values.
-
-let $a := [boolean("true"),boolean("false"),boolean("true"),boolean("false")]
-let $b := [boolean("false"),boolean("true"),boolean("false"),boolean("true")]
-for $m in $a
-for $n in $b
-where $m=not($n)
-return $m
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et22/et22.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et22/et22.2.update.aql
deleted file mode 100644
index c83d81e..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et22/et22.2.update.aql
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
- * Description     : Test length of null returned by len() function  
- * Expected Result : Success
- * Date            : 23rd July 2012
- */
-
-write output to nc1:"rttest/flwor_let22.adm";
-
-let $a := [null]
-return len($a)
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et22/et22.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et22/et22.3.query.aql
deleted file mode 100644
index c83d81e..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et22/et22.3.query.aql
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
- * Description     : Test length of null returned by len() function  
- * Expected Result : Success
- * Date            : 23rd July 2012
- */
-
-write output to nc1:"rttest/flwor_let22.adm";
-
-let $a := [null]
-return len($a)
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et23/et23.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et23/et23.2.update.aql
deleted file mode 100644
index 7ad2152..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et23/et23.2.update.aql
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
- * Description     : Test length of ordered list
- * Expected Result : Success
- * Date            : 23rd July 2012
- */
-
-write output to nc1:"rttest/flwor_let23.adm";
-
-let $a := [1,2,3,4,5,6,7,8,9,null]
-return len($a)
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et23/et23.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et23/et23.3.query.aql
deleted file mode 100644
index 7ad2152..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et23/et23.3.query.aql
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
- * Description     : Test length of ordered list
- * Expected Result : Success
- * Date            : 23rd July 2012
- */
-
-write output to nc1:"rttest/flwor_let23.adm";
-
-let $a := [1,2,3,4,5,6,7,8,9,null]
-return len($a)
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et24/et24.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et24/et24.2.update.aql
deleted file mode 100644
index 75a96b1..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et24/et24.2.update.aql
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- *  Description     : Test let clause
- *  Expected Result : Success
- *  Date            : 23rd July 2012
- */
-
-/*
- * m - closed record
- * n - closed record with null
- * o - open data
- * p - open data with null
- * q - nested record
- */
-
-write output to nc1:"rttest/flwor_let24.adm";
-
-let $m := {"name":"Holmes S","age":25,"sex":"M"}
-let $n := {"name":"Bob","age":35,"sex":null}
-let $o := {{"John",45,"M"}}
-let $p := {{"Optional data goes here",null}}
-let $q := { "id":1345,"test":{"name":"Federer","age":35},"foo":"foo" }
-return { "m":$m,"n":$n,"o":$o, "p":$p,"q":$q }
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et24/et24.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et24/et24.3.query.aql
deleted file mode 100644
index 75a96b1..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et24/et24.3.query.aql
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- *  Description     : Test let clause
- *  Expected Result : Success
- *  Date            : 23rd July 2012
- */
-
-/*
- * m - closed record
- * n - closed record with null
- * o - open data
- * p - open data with null
- * q - nested record
- */
-
-write output to nc1:"rttest/flwor_let24.adm";
-
-let $m := {"name":"Holmes S","age":25,"sex":"M"}
-let $n := {"name":"Bob","age":35,"sex":null}
-let $o := {{"John",45,"M"}}
-let $p := {{"Optional data goes here",null}}
-let $q := { "id":1345,"test":{"name":"Federer","age":35},"foo":"foo" }
-return { "m":$m,"n":$n,"o":$o, "p":$p,"q":$q }
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et25/et25.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et25/et25.2.update.aql
deleted file mode 100644
index 4959b7e..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et25/et25.2.update.aql
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
- * Description     : Test let clause
- * Expected Result : Success
- * Date            : 23rd July 2012
- */
-
-write output to nc1:"rttest/flwor_let25.adm";
-
-let $a := true or false
-let $b := (true or false) and not(false)
-return {"a":$a,"b":$b}
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et25/et25.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et25/et25.3.query.aql
deleted file mode 100644
index 4959b7e..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et25/et25.3.query.aql
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
- * Description     : Test let clause
- * Expected Result : Success
- * Date            : 23rd July 2012
- */
-
-write output to nc1:"rttest/flwor_let25.adm";
-
-let $a := true or false
-let $b := (true or false) and not(false)
-return {"a":$a,"b":$b}
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et26/et26.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et26/et26.2.update.aql
deleted file mode 100644
index 5352548..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et26/et26.2.update.aql
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * Description     : Test let clause 
- * Expected Result : Success 
- * Date            : 23rd July 2012
- */
-
-/*
- * Test let clause - let variable := relational expression
- */
-
-write output to nc1:"rttest/flwor_let26.adm";
-
-let $a := 10 > 9
-let $b := ((100 * 100)/10 -1999) > 3900
-let $c := true != false
-return {"a":$a,"b":$b,"c":$c}
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et26/et26.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et26/et26.3.query.aql
deleted file mode 100644
index 5352548..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et26/et26.3.query.aql
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * Description     : Test let clause 
- * Expected Result : Success 
- * Date            : 23rd July 2012
- */
-
-/*
- * Test let clause - let variable := relational expression
- */
-
-write output to nc1:"rttest/flwor_let26.adm";
-
-let $a := 10 > 9
-let $b := ((100 * 100)/10 -1999) > 3900
-let $c := true != false
-return {"a":$a,"b":$b,"c":$c}
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et27/et27.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et27/et27.2.update.aql
deleted file mode 100644
index b675e2c..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et27/et27.2.update.aql
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * Description     : Test let clause 
- * Expected Result : Success 
- * Date            : 23rd July 2012 
- */
-
-// Bind arithmetic expressions to variable using let clause
-
-write output to nc1:"rttest/flwor_let27.adm";
-
-let $a := [(100+100),(100-100),(100 * 100),(100 / 100),(100 %10)] 
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et27/et27.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et27/et27.3.query.aql
deleted file mode 100644
index b675e2c..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et27/et27.3.query.aql
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * Description     : Test let clause 
- * Expected Result : Success 
- * Date            : 23rd July 2012 
- */
-
-// Bind arithmetic expressions to variable using let clause
-
-write output to nc1:"rttest/flwor_let27.adm";
-
-let $a := [(100+100),(100-100),(100 * 100),(100 / 100),(100 %10)] 
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et28/et28.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et28/et28.2.update.aql
deleted file mode 100644
index 663304b..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et28/et28.2.update.aql
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
- * Description     : Test let clause and floating point literals
- * Expected Result : Success
- * Date            : 24th July 2012
- */
-
-write output to nc1:"rttest/flwor_let28.adm";
-
-let $a := [137.8932f,156f,.98781f, 436.219F,.89217F,16789F]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et28/et28.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et28/et28.3.query.aql
deleted file mode 100644
index 663304b..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et28/et28.3.query.aql
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
- * Description     : Test let clause and floating point literals
- * Expected Result : Success
- * Date            : 24th July 2012
- */
-
-write output to nc1:"rttest/flwor_let28.adm";
-
-let $a := [137.8932f,156f,.98781f, 436.219F,.89217F,16789F]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et29/et29.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et29/et29.1.ddl.aql
deleted file mode 100644
index 45083eb..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et29/et29.1.ddl.aql
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
- * Description     : Test let clause and double literals
- * Expected Result : Success
- * Date            : 24th July 2012
- */
-
-write output to nc1:"rttest/flwor_let29.adm";
-
-let $a := [137.8932,.98781,436.219,.89217,-234.324]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et29/et29.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et29/et29.2.update.aql
deleted file mode 100644
index 45083eb..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et29/et29.2.update.aql
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
- * Description     : Test let clause and double literals
- * Expected Result : Success
- * Date            : 24th July 2012
- */
-
-write output to nc1:"rttest/flwor_let29.adm";
-
-let $a := [137.8932,.98781,436.219,.89217,-234.324]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et30/et30.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et30/et30.2.update.aql
deleted file mode 100644
index 3229d86..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et30/et30.2.update.aql
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
- * Description     : Test union of two lists, bind each list to a variable
- * Expected Result : Success
- * Date            : 24th July 2012
- */
-
-// $a and $b are ordered lists with one Record each.
-
-write output to nc1:"rttest/flwor_let30.adm";
-
-let $a := [{"id":1234,"name":"John Doe","age":56,"salary":50000,"dept":"HR"}]
-let $b := [{"id":3424,"name":"Roger Sanders","age":46,"salary":60000,"dept":"Publishing"}]
-let $c := $a union $b
-return $c
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et30/et30.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et30/et30.3.query.aql
deleted file mode 100644
index 3229d86..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et30/et30.3.query.aql
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
- * Description     : Test union of two lists, bind each list to a variable
- * Expected Result : Success
- * Date            : 24th July 2012
- */
-
-// $a and $b are ordered lists with one Record each.
-
-write output to nc1:"rttest/flwor_let30.adm";
-
-let $a := [{"id":1234,"name":"John Doe","age":56,"salary":50000,"dept":"HR"}]
-let $b := [{"id":3424,"name":"Roger Sanders","age":46,"salary":60000,"dept":"Publishing"}]
-let $c := $a union $b
-return $c
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et31/et31.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et31/et31.2.update.aql
deleted file mode 100644
index 4c8da02..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et31/et31.2.update.aql
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
- * Description     : Test union of two lists, bind each list to a variable
- * Expected Result : Success
- * Date            : 24th July 2012
- */
-
-// $a and $b hold one Record each.
-
-write output to nc1:"rttest/flwor_let31.adm";
-
-let $a := {"id":1234,"name":"John Doe","age":56,"salary":50000,"dept":"HR"}
-let $b := {"id":3424,"name":"Roger Sanders","age":46,"salary":60000,"dept":"Publishing"}
-let $c := $a union $b
-return $c
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et31/et31.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et31/et31.3.query.aql
deleted file mode 100644
index 4c8da02..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et31/et31.3.query.aql
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
- * Description     : Test union of two lists, bind each list to a variable
- * Expected Result : Success
- * Date            : 24th July 2012
- */
-
-// $a and $b hold one Record each.
-
-write output to nc1:"rttest/flwor_let31.adm";
-
-let $a := {"id":1234,"name":"John Doe","age":56,"salary":50000,"dept":"HR"}
-let $b := {"id":3424,"name":"Roger Sanders","age":46,"salary":60000,"dept":"Publishing"}
-let $c := $a union $b
-return $c
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et32/et32.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et32/et32.2.update.aql
deleted file mode 100644
index f78d8b5..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et32/et32.2.update.aql
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
- * Description     : Test union of two lists, bind each list to a variable
- * Expected Result : Success
- * Date            : 24th July 2012
- */
-
-write output to nc1:"rttest/flwor_let32.adm";
-
-let $m := (for $a in [{"id":1234,"name":"John Doe","age":56,"salary":50000,"dept":"HR"}]
-return $a)
-let $n := (for $b in [{"id":3424,"name":"Roger Sanders","age":46,"salary":60000,"dept":"Publishing"}]
-return $b)
-return $m union $n
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et32/et32.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/et32/et32.3.query.aql
deleted file mode 100644
index f78d8b5..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et32/et32.3.query.aql
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
- * Description     : Test union of two lists, bind each list to a variable
- * Expected Result : Success
- * Date            : 24th July 2012
- */
-
-write output to nc1:"rttest/flwor_let32.adm";
-
-let $m := (for $a in [{"id":1234,"name":"John Doe","age":56,"salary":50000,"dept":"HR"}]
-return $a)
-let $n := (for $b in [{"id":3424,"name":"Roger Sanders","age":46,"salary":60000,"dept":"Publishing"}]
-return $b)
-return $m union $n
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for01/for01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for01/for01.1.ddl.aql
index afb3783..c50e488 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for01/for01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for01/for01.1.ddl.aql
@@ -4,8 +4,3 @@
  * Date             :  23rd July 2012
  */
 
-write output to nc1:"rttest/flwor_for01.adm";
-
-for $a in [1,2,3,4,5,6,7,8,9]
-where not(false)
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for01/for01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for01/for01.2.update.aql
index afb3783..c50e488 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for01/for01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for01/for01.2.update.aql
@@ -4,8 +4,3 @@
  * Date             :  23rd July 2012
  */
 
-write output to nc1:"rttest/flwor_for01.adm";
-
-for $a in [1,2,3,4,5,6,7,8,9]
-where not(false)
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for01/for01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for01/for01.3.query.aql
index afb3783..046c55f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for01/for01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for01/for01.3.query.aql
@@ -4,8 +4,6 @@
  * Date             :  23rd July 2012
  */
 
-write output to nc1:"rttest/flwor_for01.adm";
-
 for $a in [1,2,3,4,5,6,7,8,9]
 where not(false)
 return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for02/for02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for02/for02.1.ddl.aql
index 6ff278a..18e88d2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for02/for02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for02/for02.1.ddl.aql
@@ -4,8 +4,3 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for02.adm";
-
-for $a in [[1,2,3,4,5,6,7,8,9],[20,30,40,50,60,70,80]]
-where true
-return for $b in $a where $b > 5 and $b <70 return $b
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for02/for02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for02/for02.2.update.aql
index 6ff278a..18e88d2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for02/for02.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for02/for02.2.update.aql
@@ -4,8 +4,3 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for02.adm";
-
-for $a in [[1,2,3,4,5,6,7,8,9],[20,30,40,50,60,70,80]]
-where true
-return for $b in $a where $b > 5 and $b <70 return $b
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for02/for02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for02/for02.3.query.aql
index 6ff278a..aa75cfa 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for02/for02.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for02/for02.3.query.aql
@@ -4,8 +4,6 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for02.adm";
-
 for $a in [[1,2,3,4,5,6,7,8,9],[20,30,40,50,60,70,80]]
 where true
 return for $b in $a where $b > 5 and $b <70 return $b
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for03/for03.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for03/for03.1.ddl.aql
index 090aa69..18e88d2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for03/for03.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for03/for03.1.ddl.aql
@@ -4,7 +4,3 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for03.adm";
-
-for $a in [[1,2,3,4,5,6,7,8,9,0],["r","t","w","a"],[11,34,56,78,98,01,12,34,56,76,83],[null,null,null],[" ","","    "],["at"],[-1],[0]]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for03/for03.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for03/for03.2.update.aql
index 090aa69..18e88d2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for03/for03.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for03/for03.2.update.aql
@@ -4,7 +4,3 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for03.adm";
-
-for $a in [[1,2,3,4,5,6,7,8,9,0],["r","t","w","a"],[11,34,56,78,98,01,12,34,56,76,83],[null,null,null],[" ","","    "],["at"],[-1],[0]]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for03/for03.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for03/for03.3.query.aql
index 090aa69..00bf474 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for03/for03.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for03/for03.3.query.aql
@@ -4,7 +4,5 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for03.adm";
-
 for $a in [[1,2,3,4,5,6,7,8,9,0],["r","t","w","a"],[11,34,56,78,98,01,12,34,56,76,83],[null,null,null],[" ","","    "],["at"],[-1],[0]]
 return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for04/for04.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for04/for04.1.ddl.aql
index c419b6e..18e88d2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for04/for04.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for04/for04.1.ddl.aql
@@ -4,8 +4,3 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for04.adm";
-
-for $a in [[1,2,3,4,5,6,7,8,9,0],[11,34,56,78,98,01,12,34,56,76,83],[null,null,null,"and","bat","gone","do"],[" ","","    "],["at"],[-1],[0]]
-where len($a) > 1
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for04/for04.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for04/for04.2.update.aql
index c419b6e..18e88d2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for04/for04.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for04/for04.2.update.aql
@@ -4,8 +4,3 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for04.adm";
-
-for $a in [[1,2,3,4,5,6,7,8,9,0],[11,34,56,78,98,01,12,34,56,76,83],[null,null,null,"and","bat","gone","do"],[" ","","    "],["at"],[-1],[0]]
-where len($a) > 1
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for04/for04.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for04/for04.3.query.aql
index c419b6e..0d26a37 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for04/for04.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for04/for04.3.query.aql
@@ -4,8 +4,6 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for04.adm";
-
 for $a in [[1,2,3,4,5,6,7,8,9,0],[11,34,56,78,98,01,12,34,56,76,83],[null,null,null,"and","bat","gone","do"],[" ","","    "],["at"],[-1],[0]]
 where len($a) > 1
 return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for05/for05.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for05/for05.1.ddl.aql
index a8533d9..18e88d2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for05/for05.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for05/for05.1.ddl.aql
@@ -4,8 +4,3 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for05.adm";
-
-for $a in [1,2,3,4,5,6,7,8,9]
-where ()
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for05/for05.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for05/for05.2.update.aql
index a8533d9..18e88d2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for05/for05.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for05/for05.2.update.aql
@@ -4,8 +4,3 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for05.adm";
-
-for $a in [1,2,3,4,5,6,7,8,9]
-where ()
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for05/for05.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for05/for05.3.query.aql
index a8533d9..f2f1ca3 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for05/for05.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for05/for05.3.query.aql
@@ -4,8 +4,6 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for05.adm";
-
 for $a in [1,2,3,4,5,6,7,8,9]
 where ()
 return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for06/for06.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for06/for06.1.ddl.aql
index 5ed5e5e..18e88d2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for06/for06.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for06/for06.1.ddl.aql
@@ -4,8 +4,3 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for06.adm";
-
-for $a in [1,2,3,4,5,6,7,8,9]
-where $undefined
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for06/for06.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for06/for06.2.update.aql
index 5ed5e5e..18e88d2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for06/for06.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for06/for06.2.update.aql
@@ -4,8 +4,3 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for06.adm";
-
-for $a in [1,2,3,4,5,6,7,8,9]
-where $undefined
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for06/for06.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for06/for06.3.query.aql
index 5ed5e5e..9cc9fe3 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for06/for06.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for06/for06.3.query.aql
@@ -4,8 +4,6 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for06.adm";
-
 for $a in [1,2,3,4,5,6,7,8,9]
 where $undefined
 return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for07/for07.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for07/for07.1.ddl.aql
index af2cd3c..18e88d2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for07/for07.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for07/for07.1.ddl.aql
@@ -4,7 +4,3 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for07.adm";
-
-for $a in [{"name":"Bob","age":10,"sex":"Male"},{"name":"John","age":45,"sex":"Female"},{"name":"Raj","age":35,"sex":"Male"}]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for07/for07.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for07/for07.2.update.aql
index af2cd3c..18e88d2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for07/for07.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for07/for07.2.update.aql
@@ -4,7 +4,3 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for07.adm";
-
-for $a in [{"name":"Bob","age":10,"sex":"Male"},{"name":"John","age":45,"sex":"Female"},{"name":"Raj","age":35,"sex":"Male"}]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for07/for07.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for07/for07.3.query.aql
index af2cd3c..9639c60 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for07/for07.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for07/for07.3.query.aql
@@ -4,7 +4,5 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for07.adm";
-
 for $a in [{"name":"Bob","age":10,"sex":"Male"},{"name":"John","age":45,"sex":"Female"},{"name":"Raj","age":35,"sex":"Male"}]
 return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for08/for08.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for08/for08.1.ddl.aql
index b8a88fe..18e88d2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for08/for08.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for08/for08.1.ddl.aql
@@ -4,8 +4,3 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for08.adm";
-
-for $a in [{"name":"Bob","age":10,"sex":"Male"},{"name":"John","age":45,"sex":"Female"},{"name":"Raj","age":35,"sex":"Male"}]
-where $a.name="John"
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for08/for08.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for08/for08.2.update.aql
index b8a88fe..18e88d2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for08/for08.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for08/for08.2.update.aql
@@ -4,8 +4,3 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for08.adm";
-
-for $a in [{"name":"Bob","age":10,"sex":"Male"},{"name":"John","age":45,"sex":"Female"},{"name":"Raj","age":35,"sex":"Male"}]
-where $a.name="John"
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for08/for08.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for08/for08.3.query.aql
index b8a88fe..f0e0191 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for08/for08.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for08/for08.3.query.aql
@@ -4,8 +4,6 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for08.adm";
-
 for $a in [{"name":"Bob","age":10,"sex":"Male"},{"name":"John","age":45,"sex":"Female"},{"name":"Raj","age":35,"sex":"Male"}]
 where $a.name="John"
 return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for09/for09.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for09/for09.1.ddl.aql
index fb03193..18e88d2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for09/for09.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for09/for09.1.ddl.aql
@@ -4,8 +4,3 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for09.adm";
-
-for $a in [{"name":"Bob","age":10,"sex":"Male"},{"name":"John","age":45,"sex":"Female"},{"name":"Raj","age":35,"sex":"Male"}]
-where $a.name="Tom"
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for09/for09.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for09/for09.2.update.aql
index fb03193..18e88d2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for09/for09.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for09/for09.2.update.aql
@@ -4,8 +4,3 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for09.adm";
-
-for $a in [{"name":"Bob","age":10,"sex":"Male"},{"name":"John","age":45,"sex":"Female"},{"name":"Raj","age":35,"sex":"Male"}]
-where $a.name="Tom"
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for09/for09.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for09/for09.3.query.aql
index fb03193..4b0ac18 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for09/for09.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for09/for09.3.query.aql
@@ -4,7 +4,6 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for09.adm";
 
 for $a in [{"name":"Bob","age":10,"sex":"Male"},{"name":"John","age":45,"sex":"Female"},{"name":"Raj","age":35,"sex":"Male"}]
 where $a.name="Tom"
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for10/for10.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for10/for10.1.ddl.aql
index 81589ea..18e88d2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for10/for10.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for10/for10.1.ddl.aql
@@ -4,7 +4,3 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for10.adm";
-
-for $a in [{"name":"Bob","age":10,"sex":"Male"},{"name":"John","age":45,"sex":"Female"},{"name":"Raj","age":35,"sex":"Male"}]
-return {"a":$a,"additional-data":{{"this is additional data","this is too","and this is additional too"}}}
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for10/for10.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for10/for10.2.update.aql
index 81589ea..18e88d2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for10/for10.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for10/for10.2.update.aql
@@ -4,7 +4,3 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for10.adm";
-
-for $a in [{"name":"Bob","age":10,"sex":"Male"},{"name":"John","age":45,"sex":"Female"},{"name":"Raj","age":35,"sex":"Male"}]
-return {"a":$a,"additional-data":{{"this is additional data","this is too","and this is additional too"}}}
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for10/for10.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for10/for10.3.query.aql
index 81589ea..99c96b4 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for10/for10.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for10/for10.3.query.aql
@@ -4,7 +4,5 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for10.adm";
-
 for $a in [{"name":"Bob","age":10,"sex":"Male"},{"name":"John","age":45,"sex":"Female"},{"name":"Raj","age":35,"sex":"Male"}]
 return {"a":$a,"additional-data":{{"this is additional data","this is too","and this is additional too"}}}
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for11/for11.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for11/for11.1.ddl.aql
index 50f5635..18e88d2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for11/for11.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for11/for11.1.ddl.aql
@@ -4,8 +4,3 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for11.adm";
-
-for $a in [true,true,false,true]
-where $a = true
-return {{"this is additional data","this is too","and this is additional too"}}
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for11/for11.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for11/for11.2.update.aql
index 50f5635..18e88d2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for11/for11.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for11/for11.2.update.aql
@@ -4,8 +4,3 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for11.adm";
-
-for $a in [true,true,false,true]
-where $a = true
-return {{"this is additional data","this is too","and this is additional too"}}
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for11/for11.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for11/for11.3.query.aql
index 50f5635..f85b577 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for11/for11.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for11/for11.3.query.aql
@@ -4,7 +4,6 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for11.adm";
 
 for $a in [true,true,false,true]
 where $a = true
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for12/for12.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for12/for12.1.ddl.aql
index f870374..18e88d2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for12/for12.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for12/for12.1.ddl.aql
@@ -4,9 +4,3 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for12.adm";
-
-for $a in [true,true,false,true]
-where $a = false
-return {"a":{{"this is additional data","this is too","and this is additional too"}},"b":{{"this is additional data","this is too","and this is additional too"}}}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for12/for12.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for12/for12.2.update.aql
index f870374..18e88d2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for12/for12.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for12/for12.2.update.aql
@@ -4,9 +4,3 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for12.adm";
-
-for $a in [true,true,false,true]
-where $a = false
-return {"a":{{"this is additional data","this is too","and this is additional too"}},"b":{{"this is additional data","this is too","and this is additional too"}}}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for12/for12.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for12/for12.3.query.aql
index f870374..8a372b9 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for12/for12.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for12/for12.3.query.aql
@@ -4,8 +4,6 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for12.adm";
-
 for $a in [true,true,false,true]
 where $a = false
 return {"a":{{"this is additional data","this is too","and this is additional too"}},"b":{{"this is additional data","this is too","and this is additional too"}}}
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for13/for13.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for13/for13.1.ddl.aql
index 5a6388e..67112ee 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for13/for13.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for13/for13.1.ddl.aql
@@ -3,8 +3,3 @@
  * Expected Result  :  Success
  * Date             :  7th July 2012
  */
-
-write output to nc1:"rttest/flwor_for13.adm";
-
-for $a in [true]
-return {{"this is additional data","this is too","and this is additional too"}}
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for13/for13.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for13/for13.2.update.aql
index 5a6388e..18e88d2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for13/for13.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for13/for13.2.update.aql
@@ -4,7 +4,3 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for13.adm";
-
-for $a in [true]
-return {{"this is additional data","this is too","and this is additional too"}}
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for13/for13.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for13/for13.3.query.aql
index 5a6388e..307995b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for13/for13.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for13/for13.3.query.aql
@@ -4,7 +4,5 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for13.adm";
-
 for $a in [true]
 return {{"this is additional data","this is too","and this is additional too"}}
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for14/for14.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for14/for14.1.ddl.aql
index bef8754..18e88d2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for14/for14.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for14/for14.1.ddl.aql
@@ -4,7 +4,3 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for14.adm";
-
-for $a in [{"name":"Rocky","age":59,"sex":"M"},["job","ink","king","ontario","lavelle"],[1,4,5,6,7,8,9,2,3,4,5,6,7],{{"extra data","extra data","extra data"}}]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for14/for14.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for14/for14.2.update.aql
index bef8754..18e88d2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for14/for14.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for14/for14.2.update.aql
@@ -4,7 +4,3 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for14.adm";
-
-for $a in [{"name":"Rocky","age":59,"sex":"M"},["job","ink","king","ontario","lavelle"],[1,4,5,6,7,8,9,2,3,4,5,6,7],{{"extra data","extra data","extra data"}}]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for14/for14.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for14/for14.3.query.aql
index bef8754..8932677 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for14/for14.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for14/for14.3.query.aql
@@ -4,7 +4,6 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for14.adm";
 
 for $a in [{"name":"Rocky","age":59,"sex":"M"},["job","ink","king","ontario","lavelle"],[1,4,5,6,7,8,9,2,3,4,5,6,7],{{"extra data","extra data","extra data"}}]
 return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for15/for15.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for15/for15.1.ddl.aql
index 5a65ae6..67112ee 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for15/for15.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for15/for15.1.ddl.aql
@@ -3,8 +3,3 @@
  * Expected Result  :  Success
  * Date             :  7th July 2012
  */
-
-write output to nc1:"rttest/flwor_for15.adm";
-
-for $a in [{"name":"Rocky","age":59,"sex":"M"},[1]]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for15/for15.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for15/for15.2.update.aql
index 5a65ae6..18e88d2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for15/for15.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for15/for15.2.update.aql
@@ -4,7 +4,3 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for15.adm";
-
-for $a in [{"name":"Rocky","age":59,"sex":"M"},[1]]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for15/for15.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for15/for15.3.query.aql
index 5a65ae6..cb3ac14 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for15/for15.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for15/for15.3.query.aql
@@ -4,7 +4,6 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for15.adm";
 
 for $a in [{"name":"Rocky","age":59,"sex":"M"},[1]]
 return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for16/for16.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for16/for16.1.ddl.aql
index c2fb57f..18e88d2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for16/for16.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for16/for16.1.ddl.aql
@@ -4,7 +4,3 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for16.adm";
-
-for $a in [[[1,2],[3]],[[4,5],[6,7]],[[8,9],[10,11]],[[12,13],[14]],[[15],[16,17]],[[18],[19,20]]]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for16/for16.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for16/for16.2.update.aql
index c2fb57f..18e88d2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for16/for16.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for16/for16.2.update.aql
@@ -4,7 +4,3 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for16.adm";
-
-for $a in [[[1,2],[3]],[[4,5],[6,7]],[[8,9],[10,11]],[[12,13],[14]],[[15],[16,17]],[[18],[19,20]]]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for16/for16.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for16/for16.3.query.aql
index c2fb57f..790f9ce 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for16/for16.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for16/for16.3.query.aql
@@ -4,7 +4,5 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for16.adm";
-
 for $a in [[[1,2],[3]],[[4,5],[6,7]],[[8,9],[10,11]],[[12,13],[14]],[[15],[16,17]],[[18],[19,20]]]
 return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for17/for17.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for17/for17.1.ddl.aql
index 0d5d16c..c838616 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for17/for17.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for17/for17.1.ddl.aql
@@ -4,10 +4,3 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_for17.adm";
-
-(for $a in [{"id":1234,"name":"John Doe","age":56,"salary":50000,"dept":"HR"}]
-return $a)
-union
-(for $b in [{"id":3424,"name":"Roger Sanders","age":46,"salary":60000,"dept":"Publishing"}]
-return $b)
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for17/for17.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for17/for17.2.update.aql
index 0d5d16c..c838616 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for17/for17.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for17/for17.2.update.aql
@@ -4,10 +4,3 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_for17.adm";
-
-(for $a in [{"id":1234,"name":"John Doe","age":56,"salary":50000,"dept":"HR"}]
-return $a)
-union
-(for $b in [{"id":3424,"name":"Roger Sanders","age":46,"salary":60000,"dept":"Publishing"}]
-return $b)
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for17/for17.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for17/for17.3.query.aql
index 0d5d16c..9e05da3 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for17/for17.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for17/for17.3.query.aql
@@ -4,8 +4,6 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_for17.adm";
-
 (for $a in [{"id":1234,"name":"John Doe","age":56,"salary":50000,"dept":"HR"}]
 return $a)
 union
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for18/for18.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for18/for18.1.ddl.aql
index e17daa8..c9949e7 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for18/for18.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for18/for18.1.ddl.aql
@@ -4,12 +4,3 @@
  * Date            : 21st Aug 2012
  */
 
-write output to nc1:"rttest/flwor_for18.adm";
-
-for $a in (
-    for $b in (
-               for $c in (
-                         for $d in [1,2,3,4,5,6,7] return $d+1
-               ) return $c+1
-    ) return $b+1
-) return $a+1
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for18/for18.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for18/for18.2.update.aql
index e17daa8..c9949e7 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for18/for18.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for18/for18.2.update.aql
@@ -4,12 +4,3 @@
  * Date            : 21st Aug 2012
  */
 
-write output to nc1:"rttest/flwor_for18.adm";
-
-for $a in (
-    for $b in (
-               for $c in (
-                         for $d in [1,2,3,4,5,6,7] return $d+1
-               ) return $c+1
-    ) return $b+1
-) return $a+1
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for18/for18.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for18/for18.3.query.aql
index e17daa8..5131dee 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for18/for18.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for18/for18.3.query.aql
@@ -4,7 +4,6 @@
  * Date            : 21st Aug 2012
  */
 
-write output to nc1:"rttest/flwor_for18.adm";
 
 for $a in (
     for $b in (
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for19/for19.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for19/for19.1.ddl.aql
index 1101c95..18e88d2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for19/for19.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for19/for19.1.ddl.aql
@@ -4,8 +4,3 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for19.adm";
-
-for $a in [[1,2,3,4,5,6,7,8,9,0],[11,34,56,78,98,01,12,34,56,76,83]]
-where len($a) > 1
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for19/for19.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for19/for19.2.update.aql
index 1101c95..18e88d2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for19/for19.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for19/for19.2.update.aql
@@ -4,8 +4,3 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for19.adm";
-
-for $a in [[1,2,3,4,5,6,7,8,9,0],[11,34,56,78,98,01,12,34,56,76,83]]
-where len($a) > 1
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/for19/for19.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/for19/for19.3.query.aql
index 1101c95..487291b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/for19/for19.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/for19/for19.3.query.aql
@@ -4,8 +4,6 @@
  * Date             :  7th July 2012
  */
 
-write output to nc1:"rttest/flwor_for19.adm";
-
 for $a in [[1,2,3,4,5,6,7,8,9,0],[11,34,56,78,98,01,12,34,56,76,83]]
 where len($a) > 1
 return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/grpby01/grpby01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/grpby01/grpby01.1.ddl.aql
index 252016f..67722da 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/grpby01/grpby01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/grpby01/grpby01.1.ddl.aql
@@ -4,12 +4,3 @@
  * Date             :  31st July 2012
  */
 
-for $sales in [{"storeno":"S101","itemno":"P78395","qty":125},
-{"storeno":"S101","itemno":"P71395","qty":135},
-{"storeno":"S102","itemno":"P78395","qty":225},
-{"storeno":"S103","itemno":"P78345","qty":105},
-{"storeno":"S104","itemno":"P71395","qty":115},
-{"storeno":"S105","itemno":"P74395","qty":120}]
-group by $strNum:=$sales.storeno with $sales
-order by $strNum desc
-return {"store-number":$strNum,"total-qty":sum(for $l in $sales return $l.qty)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/grpby01/grpby01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/grpby01/grpby01.2.update.aql
index 252016f..67722da 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/grpby01/grpby01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/grpby01/grpby01.2.update.aql
@@ -4,12 +4,3 @@
  * Date             :  31st July 2012
  */
 
-for $sales in [{"storeno":"S101","itemno":"P78395","qty":125},
-{"storeno":"S101","itemno":"P71395","qty":135},
-{"storeno":"S102","itemno":"P78395","qty":225},
-{"storeno":"S103","itemno":"P78345","qty":105},
-{"storeno":"S104","itemno":"P71395","qty":115},
-{"storeno":"S105","itemno":"P74395","qty":120}]
-group by $strNum:=$sales.storeno with $sales
-order by $strNum desc
-return {"store-number":$strNum,"total-qty":sum(for $l in $sales return $l.qty)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/grpby02/grpby02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/grpby02/grpby02.1.ddl.aql
index 252016f..67722da 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/grpby02/grpby02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/grpby02/grpby02.1.ddl.aql
@@ -4,12 +4,3 @@
  * Date             :  31st July 2012
  */
 
-for $sales in [{"storeno":"S101","itemno":"P78395","qty":125},
-{"storeno":"S101","itemno":"P71395","qty":135},
-{"storeno":"S102","itemno":"P78395","qty":225},
-{"storeno":"S103","itemno":"P78345","qty":105},
-{"storeno":"S104","itemno":"P71395","qty":115},
-{"storeno":"S105","itemno":"P74395","qty":120}]
-group by $strNum:=$sales.storeno with $sales
-order by $strNum desc
-return {"store-number":$strNum,"total-qty":sum(for $l in $sales return $l.qty)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/grpby02/grpby02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/grpby02/grpby02.2.update.aql
index 252016f..67722da 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/grpby02/grpby02.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/grpby02/grpby02.2.update.aql
@@ -4,12 +4,3 @@
  * Date             :  31st July 2012
  */
 
-for $sales in [{"storeno":"S101","itemno":"P78395","qty":125},
-{"storeno":"S101","itemno":"P71395","qty":135},
-{"storeno":"S102","itemno":"P78395","qty":225},
-{"storeno":"S103","itemno":"P78345","qty":105},
-{"storeno":"S104","itemno":"P71395","qty":115},
-{"storeno":"S105","itemno":"P74395","qty":120}]
-group by $strNum:=$sales.storeno with $sales
-order by $strNum desc
-return {"store-number":$strNum,"total-qty":sum(for $l in $sales return $l.qty)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let01/let01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let01/let01.1.ddl.aql
new file mode 100644
index 0000000..8adc7a3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let01/let01.1.ddl.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let01/let01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let01/let01.2.update.aql
new file mode 100644
index 0000000..8adc7a3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let01/let01.2.update.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et01/et01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let01/let01.3.query.aql
similarity index 77%
rename from asterix-app/src/test/resources/runtimets/queries/flwor/et01/et01.3.query.aql
rename to asterix-app/src/test/resources/runtimets/queries/flwor/let01/let01.3.query.aql
index 7313680..9836f85 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et01/et01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let01/let01.3.query.aql
@@ -4,7 +4,5 @@
  * Date            :  6th July 2012 
  */
 
-write output to nc1:"rttest/flwor_let01.adm";
-
 let $x := int64("92233720368547758")
 return $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let02/let02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let02/let02.1.ddl.aql
new file mode 100644
index 0000000..45fb16e
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let02/let02.1.ddl.aql
@@ -0,0 +1,5 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let02/let02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let02/let02.2.update.aql
new file mode 100644
index 0000000..45fb16e
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let02/let02.2.update.aql
@@ -0,0 +1,5 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et02/et02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let02/let02.3.query.aql
similarity index 76%
rename from asterix-app/src/test/resources/runtimets/queries/flwor/et02/et02.3.query.aql
rename to asterix-app/src/test/resources/runtimets/queries/flwor/let02/let02.3.query.aql
index 8fae4a2..a0f936f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et02/et02.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let02/let02.3.query.aql
@@ -4,7 +4,5 @@
  * Date            :  6th July 2012 
  */
 
-write output to nc1:"rttest/flwor_let02.adm";
-
 let $x := 92233720368547758
 return $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let03/let03.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let03/let03.1.ddl.aql
new file mode 100644
index 0000000..8adc7a3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let03/let03.1.ddl.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let03/let03.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let03/let03.2.update.aql
new file mode 100644
index 0000000..8adc7a3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let03/let03.2.update.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et03/et03.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let03/let03.3.query.aql
similarity index 77%
rename from asterix-app/src/test/resources/runtimets/queries/flwor/et03/et03.1.ddl.aql
rename to asterix-app/src/test/resources/runtimets/queries/flwor/let03/let03.3.query.aql
index 895630a..ed2c967 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et03/et03.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let03/let03.3.query.aql
@@ -4,7 +4,6 @@
  * Date            :  6th July 2012 
  */
 
-write output to nc1:"rttest/flwor_let03.adm";
 
 let $x := int64("92233720368547758")+1
 return $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let04/let04.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let04/let04.1.ddl.aql
new file mode 100644
index 0000000..8adc7a3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let04/let04.1.ddl.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let04/let04.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let04/let04.2.update.aql
new file mode 100644
index 0000000..8adc7a3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let04/let04.2.update.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et04/et04.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let04/let04.3.query.aql
similarity index 77%
rename from asterix-app/src/test/resources/runtimets/queries/flwor/et04/et04.1.ddl.aql
rename to asterix-app/src/test/resources/runtimets/queries/flwor/let04/let04.3.query.aql
index fad97fa..4832e2c 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et04/et04.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let04/let04.3.query.aql
@@ -4,7 +4,5 @@
  * Date            :  6th July 2012 
  */
 
-write output to nc1:"rttest/flwor_let04.adm";
-
 let $x := double("1.7976931348623157E308") 
 return $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let05/let05.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let05/let05.1.ddl.aql
new file mode 100644
index 0000000..45fb16e
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let05/let05.1.ddl.aql
@@ -0,0 +1,5 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let05/let05.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let05/let05.2.update.aql
new file mode 100644
index 0000000..45fb16e
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let05/let05.2.update.aql
@@ -0,0 +1,5 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et05/et05.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let05/let05.3.query.aql
similarity index 76%
rename from asterix-app/src/test/resources/runtimets/queries/flwor/et05/et05.1.ddl.aql
rename to asterix-app/src/test/resources/runtimets/queries/flwor/let05/let05.3.query.aql
index f718608..d8d3023 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et05/et05.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let05/let05.3.query.aql
@@ -4,7 +4,5 @@
  * Date            :  6th July 2012 
  */
 
-write output to nc1:"rttest/flwor_let05.adm";
-
 let $x := {"a":(1+1*(100/20))}
 return $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let06/let06.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let06/let06.1.ddl.aql
new file mode 100644
index 0000000..8adc7a3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let06/let06.1.ddl.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let06/let06.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let06/let06.2.update.aql
new file mode 100644
index 0000000..8adc7a3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let06/let06.2.update.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et06/et06.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let06/let06.3.query.aql
similarity index 76%
rename from asterix-app/src/test/resources/runtimets/queries/flwor/et06/et06.3.query.aql
rename to asterix-app/src/test/resources/runtimets/queries/flwor/let06/let06.3.query.aql
index c693a04..2d443a9 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et06/et06.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let06/let06.3.query.aql
@@ -4,8 +4,6 @@
  * Date            :  6th July 2012 
  */
 
-write output to nc1:"rttest/flwor_let06.adm";
-
 let $x := 1
 let $y := $x+1
 return $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let07/let07.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let07/let07.1.ddl.aql
new file mode 100644
index 0000000..8adc7a3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let07/let07.1.ddl.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let07/let07.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let07/let07.2.update.aql
new file mode 100644
index 0000000..8adc7a3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let07/let07.2.update.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et07/et07.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let07/let07.3.query.aql
similarity index 76%
rename from asterix-app/src/test/resources/runtimets/queries/flwor/et07/et07.3.query.aql
rename to asterix-app/src/test/resources/runtimets/queries/flwor/let07/let07.3.query.aql
index 5abf05e..894b1da 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et07/et07.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let07/let07.3.query.aql
@@ -4,8 +4,6 @@
  * Date            :  6th July 2012 
  */
 
-write output to nc1:"rttest/flwor_let07.adm";
-
 let $x := 1
 let $y := ($x+1)
 return $y
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let08/let08.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let08/let08.1.ddl.aql
new file mode 100644
index 0000000..8adc7a3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let08/let08.1.ddl.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let08/let08.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let08/let08.2.update.aql
new file mode 100644
index 0000000..8adc7a3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let08/let08.2.update.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et08/et08.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let08/let08.3.query.aql
similarity index 78%
rename from asterix-app/src/test/resources/runtimets/queries/flwor/et08/et08.3.query.aql
rename to asterix-app/src/test/resources/runtimets/queries/flwor/let08/let08.3.query.aql
index ca38246..866ad55 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et08/et08.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let08/let08.3.query.aql
@@ -4,7 +4,6 @@
  * Date            :  6th July 2012 
  */
 
-write output to nc1:"rttest/flwor_let08.adm";
 
 let $x:=[1,2,3]
 for $b in $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let09/let09.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let09/let09.1.ddl.aql
new file mode 100644
index 0000000..8adc7a3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let09/let09.1.ddl.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let09/let09.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let09/let09.2.update.aql
new file mode 100644
index 0000000..8adc7a3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let09/let09.2.update.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et09/et09.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let09/let09.3.query.aql
similarity index 77%
rename from asterix-app/src/test/resources/runtimets/queries/flwor/et09/et09.3.query.aql
rename to asterix-app/src/test/resources/runtimets/queries/flwor/let09/let09.3.query.aql
index 0c10d5a..2d4439b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et09/et09.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let09/let09.3.query.aql
@@ -4,8 +4,6 @@
  * Date            :  6th July 2012 
  */
 
-write output to nc1:"rttest/flwor_let09.adm";
-
 for $a in range(1,100)
 where $a%5=0
 return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let10/let10.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let10/let10.1.ddl.aql
new file mode 100644
index 0000000..45fb16e
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let10/let10.1.ddl.aql
@@ -0,0 +1,5 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let10/let10.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let10/let10.2.update.aql
new file mode 100644
index 0000000..8adc7a3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let10/let10.2.update.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et10/et10.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let10/let10.3.query.aql
similarity index 82%
rename from asterix-app/src/test/resources/runtimets/queries/flwor/et10/et10.1.ddl.aql
rename to asterix-app/src/test/resources/runtimets/queries/flwor/let10/let10.3.query.aql
index a10b28f..208a478 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et10/et10.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let10/let10.3.query.aql
@@ -4,8 +4,6 @@
  * Date            :  6th July 2012 
  */
 
-write output to nc1:"rttest/flwor_let10.adm";
-
 let $x:=[1,2,3,4,5,6,7,8,9,10,11,14,15,17,19,24,35,56,67,77,89,60,35,25,60]
 for $y in $x
 where $y%5=0
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let11/let11.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let11/let11.1.ddl.aql
new file mode 100644
index 0000000..8adc7a3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let11/let11.1.ddl.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let11/let11.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let11/let11.2.update.aql
new file mode 100644
index 0000000..8adc7a3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let11/let11.2.update.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et11/et11.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let11/let11.3.query.aql
similarity index 83%
rename from asterix-app/src/test/resources/runtimets/queries/flwor/et11/et11.3.query.aql
rename to asterix-app/src/test/resources/runtimets/queries/flwor/let11/let11.3.query.aql
index 150b075..1a96ff3 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et11/et11.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let11/let11.3.query.aql
@@ -4,8 +4,6 @@
  * Date            :  6th July 2012 
  */
 
-write output to nc1:"rttest/flwor_let11.adm";
-
 // Return an ordered list comprising of records and other values
 
 let $a := ["a",{"i":1},"b",{"j":2},"c",{"k":3}]
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let12/let12.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let12/let12.1.ddl.aql
new file mode 100644
index 0000000..8adc7a3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let12/let12.1.ddl.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let12/let12.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let12/let12.2.update.aql
new file mode 100644
index 0000000..8adc7a3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let12/let12.2.update.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et12/et12.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let12/let12.3.query.aql
similarity index 78%
rename from asterix-app/src/test/resources/runtimets/queries/flwor/et12/et12.3.query.aql
rename to asterix-app/src/test/resources/runtimets/queries/flwor/let12/let12.3.query.aql
index 3061ea8..6b80062 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et12/et12.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let12/let12.3.query.aql
@@ -4,8 +4,6 @@
  * Date            :  6th July 2012 
  */
 
-write output to nc1:"rttest/flwor_let12.adm";
-
 let $a := 1 
 let $b := $a
 let $c := $a+$b 
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let13/let13.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let13/let13.1.ddl.aql
new file mode 100644
index 0000000..fe07b85
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let13/let13.1.ddl.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Failure - Negative test
+ * Date            :  6th July 2012 
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let13/let13.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let13/let13.2.update.aql
new file mode 100644
index 0000000..276f5f6
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let13/let13.2.update.aql
@@ -0,0 +1,5 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Failure - Negative test
+ * Date            :  6th July 2012 
+ */
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et13/et13.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let13/let13.3.query.aql
similarity index 79%
rename from asterix-app/src/test/resources/runtimets/queries/flwor/et13/et13.1.ddl.aql
rename to asterix-app/src/test/resources/runtimets/queries/flwor/let13/let13.3.query.aql
index cf987b8..5694530 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et13/et13.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let13/let13.3.query.aql
@@ -4,8 +4,6 @@
  * Date            :  6th July 2012 
  */
 
-write output to nc1:"rttest/flwor_let13.adm";
-
 // Bind an undefined variable.
 
 let $a := $b 
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let14/let14.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let14/let14.1.ddl.aql
new file mode 100644
index 0000000..8adc7a3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let14/let14.1.ddl.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let14/let14.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let14/let14.2.update.aql
new file mode 100644
index 0000000..8adc7a3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let14/let14.2.update.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et14/et14.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let14/let14.3.query.aql
similarity index 84%
rename from asterix-app/src/test/resources/runtimets/queries/flwor/et14/et14.3.query.aql
rename to asterix-app/src/test/resources/runtimets/queries/flwor/let14/let14.3.query.aql
index 524dd97..b0cdcad 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et14/et14.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let14/let14.3.query.aql
@@ -4,8 +4,6 @@
  * Date            :  6th July 2012 
  */
 
-write output to nc1:"rttest/flwor_let14.adm";
-
 // nested ordered list
 
 let $a := [[[[[[[[[[[[1,2,3,4,5,6,7,8,9,10],[3,4,5,6,7,8,9,0,0],int64("9222872036854775809")]]]]]]]]]]]
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let15/let15.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let15/let15.1.ddl.aql
new file mode 100644
index 0000000..8adc7a3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let15/let15.1.ddl.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let15/let15.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let15/let15.2.update.aql
new file mode 100644
index 0000000..8adc7a3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let15/let15.2.update.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et15/et15.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let15/let15.3.query.aql
similarity index 84%
rename from asterix-app/src/test/resources/runtimets/queries/flwor/et15/et15.3.query.aql
rename to asterix-app/src/test/resources/runtimets/queries/flwor/let15/let15.3.query.aql
index 52f9862..2ccdcd8 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et15/et15.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let15/let15.3.query.aql
@@ -4,7 +4,6 @@
  * Date            :  6th July 2012 
  */
 
-write output to nc1:"rttest/flwor_let15.adm";
 
 // nested ordered list comprising of only one integer value.
 
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let16/let16.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let16/let16.1.ddl.aql
new file mode 100644
index 0000000..8adc7a3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let16/let16.1.ddl.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let16/let16.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let16/let16.2.update.aql
new file mode 100644
index 0000000..8adc7a3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let16/let16.2.update.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et16/et16.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let16/let16.3.query.aql
similarity index 94%
rename from asterix-app/src/test/resources/runtimets/queries/flwor/et16/et16.3.query.aql
rename to asterix-app/src/test/resources/runtimets/queries/flwor/let16/let16.3.query.aql
index b403c3e..122d3ee 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et16/et16.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let16/let16.3.query.aql
@@ -4,7 +4,5 @@
  * Date            :  6th July 2012 
  */
 
-write output to nc1:"rttest/flwor_let16.adm";
-
 let $a := [[[[[[[[[[[int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809"),int64("9222872036854775809")]]]]]]]]]]]
 return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let17/let17.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let17/let17.1.ddl.aql
new file mode 100644
index 0000000..8adc7a3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let17/let17.1.ddl.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let17/let17.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let17/let17.2.update.aql
new file mode 100644
index 0000000..171ffb4
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let17/let17.2.update.aql
@@ -0,0 +1,7 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
+
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et17/et17.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let17/let17.3.query.aql
similarity index 79%
rename from asterix-app/src/test/resources/runtimets/queries/flwor/et17/et17.1.ddl.aql
rename to asterix-app/src/test/resources/runtimets/queries/flwor/let17/let17.3.query.aql
index 4b53f84..4f9be6f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et17/et17.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let17/let17.3.query.aql
@@ -4,8 +4,6 @@
  * Date            :  6th July 2012 
  */
 
-write output to nc1:"rttest/flwor_let17.adm";
-
 let $a := ["and","here","we","are",["this is new","stuff"]]
 return $a
 
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let18/let18.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let18/let18.1.ddl.aql
new file mode 100644
index 0000000..8adc7a3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let18/let18.1.ddl.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let18/let18.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let18/let18.2.update.aql
new file mode 100644
index 0000000..8adc7a3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let18/let18.2.update.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et18/et18.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let18/let18.3.query.aql
similarity index 82%
rename from asterix-app/src/test/resources/runtimets/queries/flwor/et18/et18.1.ddl.aql
rename to asterix-app/src/test/resources/runtimets/queries/flwor/let18/let18.3.query.aql
index 3373323..c50c871 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et18/et18.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let18/let18.3.query.aql
@@ -4,8 +4,6 @@
  * Date            :  6th July 2012 
  */
 
-write output to nc1:"rttest/flwor_let18.adm";
-
 // An ordered list comprising of an un ordered list.
 
 let $a:=[{{"John Doe",45,"HR",60000,"Separation"}}]
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let19/let19.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let19/let19.1.ddl.aql
new file mode 100644
index 0000000..8adc7a3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let19/let19.1.ddl.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let19/let19.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let19/let19.2.update.aql
new file mode 100644
index 0000000..8adc7a3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let19/let19.2.update.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et19/et19.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let19/let19.3.query.aql
similarity index 81%
rename from asterix-app/src/test/resources/runtimets/queries/flwor/et19/et19.3.query.aql
rename to asterix-app/src/test/resources/runtimets/queries/flwor/let19/let19.3.query.aql
index e46856a..ef54046 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et19/et19.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let19/let19.3.query.aql
@@ -7,7 +7,5 @@
 
 // bind and return bag of data
 
-write output to nc1:"rttest/flwor_let19.adm";
-
 let $a:={{"John Doe",45,"HR",60000,"Separation"}}
 return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let20/let20.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let20/let20.1.ddl.aql
new file mode 100644
index 0000000..8adc7a3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let20/let20.1.ddl.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let20/let20.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let20/let20.2.update.aql
new file mode 100644
index 0000000..8adc7a3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let20/let20.2.update.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     :  Test let clause
+ * Expected Result :  Success
+ * Date            :  6th July 2012 
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et20/et20.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let20/let20.3.query.aql
similarity index 89%
rename from asterix-app/src/test/resources/runtimets/queries/flwor/et20/et20.1.ddl.aql
rename to asterix-app/src/test/resources/runtimets/queries/flwor/let20/let20.3.query.aql
index 0172b22..22814e6 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et20/et20.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let20/let20.3.query.aql
@@ -4,8 +4,6 @@
  * Date            :  6th July 2012 
  */
 
-write output to nc1:"rttest/flwor_let20.adm";
-
 // An ordered list of un ordered lists, records and ordered list.
 
 let $a:=[{{"John Doe",45,"HR",60000,"Separation"}},{"name":"Roger Sanders","age":50,"dept":"DB2-Books","designatin":"Author"},["DB2 for Z/OS","DB2 for LUW","DB2 9 Application Development","DB2 9 DBA","DB2 for Dummies"]]
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let21/let21.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let21/let21.1.ddl.aql
new file mode 100644
index 0000000..3cdce60
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let21/let21.1.ddl.aql
@@ -0,0 +1,7 @@
+/*
+ * Description      :  Test let clause
+ * Expected Result  :  Success
+ * Date             :  23rd July 2012
+ */
+
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let21/let21.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let21/let21.2.update.aql
new file mode 100644
index 0000000..f4af1db
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let21/let21.2.update.aql
@@ -0,0 +1,6 @@
+/*
+ * Description      :  Test let clause
+ * Expected Result  :  Success
+ * Date             :  23rd July 2012
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et21/et21.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let21/let21.3.query.aql
similarity index 88%
rename from asterix-app/src/test/resources/runtimets/queries/flwor/et21/et21.1.ddl.aql
rename to asterix-app/src/test/resources/runtimets/queries/flwor/let21/let21.3.query.aql
index 1106a75..81f93be 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et21/et21.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let21/let21.3.query.aql
@@ -4,7 +4,6 @@
  * Date             :  23rd July 2012
  */
 
-write output to nc1:"rttest/flwor_let21.adm";
 
 // Ordered list of boolean values.
 
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et22/et22.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let22/let22.1.ddl.aql
similarity index 64%
copy from asterix-app/src/test/resources/runtimets/queries/flwor/et22/et22.1.ddl.aql
copy to asterix-app/src/test/resources/runtimets/queries/flwor/let22/let22.1.ddl.aql
index c83d81e..26778fb 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et22/et22.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let22/let22.1.ddl.aql
@@ -4,7 +4,3 @@
  * Date            : 23rd July 2012
  */
 
-write output to nc1:"rttest/flwor_let22.adm";
-
-let $a := [null]
-return len($a)
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et22/et22.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let22/let22.2.update.aql
similarity index 64%
copy from asterix-app/src/test/resources/runtimets/queries/flwor/et22/et22.1.ddl.aql
copy to asterix-app/src/test/resources/runtimets/queries/flwor/let22/let22.2.update.aql
index c83d81e..26778fb 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et22/et22.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let22/let22.2.update.aql
@@ -4,7 +4,3 @@
  * Date            : 23rd July 2012
  */
 
-write output to nc1:"rttest/flwor_let22.adm";
-
-let $a := [null]
-return len($a)
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et22/et22.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let22/let22.3.query.aql
similarity index 78%
rename from asterix-app/src/test/resources/runtimets/queries/flwor/et22/et22.1.ddl.aql
rename to asterix-app/src/test/resources/runtimets/queries/flwor/let22/let22.3.query.aql
index c83d81e..da33601 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et22/et22.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let22/let22.3.query.aql
@@ -4,7 +4,5 @@
  * Date            : 23rd July 2012
  */
 
-write output to nc1:"rttest/flwor_let22.adm";
-
 let $a := [null]
 return len($a)
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let23/let23.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let23/let23.1.ddl.aql
new file mode 100644
index 0000000..1987047
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let23/let23.1.ddl.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     : Test length of ordered list
+ * Expected Result : Success
+ * Date            : 23rd July 2012
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let23/let23.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let23/let23.2.update.aql
new file mode 100644
index 0000000..1987047
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let23/let23.2.update.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     : Test length of ordered list
+ * Expected Result : Success
+ * Date            : 23rd July 2012
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et23/et23.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let23/let23.3.query.aql
similarity index 78%
rename from asterix-app/src/test/resources/runtimets/queries/flwor/et23/et23.1.ddl.aql
rename to asterix-app/src/test/resources/runtimets/queries/flwor/let23/let23.3.query.aql
index 7ad2152..07ea21b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et23/et23.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let23/let23.3.query.aql
@@ -4,7 +4,5 @@
  * Date            : 23rd July 2012
  */
 
-write output to nc1:"rttest/flwor_let23.adm";
-
 let $a := [1,2,3,4,5,6,7,8,9,null]
 return len($a)
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let24/let24.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let24/let24.1.ddl.aql
new file mode 100644
index 0000000..63959fd
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let24/let24.1.ddl.aql
@@ -0,0 +1,14 @@
+/*
+ *  Description     : Test let clause
+ *  Expected Result : Success
+ *  Date            : 23rd July 2012
+ */
+
+/*
+ * m - closed record
+ * n - closed record with null
+ * o - open data
+ * p - open data with null
+ * q - nested record
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let24/let24.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let24/let24.2.update.aql
new file mode 100644
index 0000000..63959fd
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let24/let24.2.update.aql
@@ -0,0 +1,14 @@
+/*
+ *  Description     : Test let clause
+ *  Expected Result : Success
+ *  Date            : 23rd July 2012
+ */
+
+/*
+ * m - closed record
+ * n - closed record with null
+ * o - open data
+ * p - open data with null
+ * q - nested record
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et24/et24.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let24/let24.3.query.aql
similarity index 91%
rename from asterix-app/src/test/resources/runtimets/queries/flwor/et24/et24.1.ddl.aql
rename to asterix-app/src/test/resources/runtimets/queries/flwor/let24/let24.3.query.aql
index 75a96b1..9bfe510 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et24/et24.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let24/let24.3.query.aql
@@ -12,8 +12,6 @@
  * q - nested record
  */
 
-write output to nc1:"rttest/flwor_let24.adm";
-
 let $m := {"name":"Holmes S","age":25,"sex":"M"}
 let $n := {"name":"Bob","age":35,"sex":null}
 let $o := {{"John",45,"M"}}
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let25/let25.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let25/let25.1.ddl.aql
new file mode 100644
index 0000000..045a9e4
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let25/let25.1.ddl.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     : Test let clause
+ * Expected Result : Success
+ * Date            : 23rd July 2012
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let25/let25.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let25/let25.2.update.aql
new file mode 100644
index 0000000..045a9e4
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let25/let25.2.update.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     : Test let clause
+ * Expected Result : Success
+ * Date            : 23rd July 2012
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et25/et25.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let25/let25.3.query.aql
similarity index 80%
rename from asterix-app/src/test/resources/runtimets/queries/flwor/et25/et25.1.ddl.aql
rename to asterix-app/src/test/resources/runtimets/queries/flwor/let25/let25.3.query.aql
index 4959b7e..e2b88da 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et25/et25.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let25/let25.3.query.aql
@@ -4,8 +4,6 @@
  * Date            : 23rd July 2012
  */
 
-write output to nc1:"rttest/flwor_let25.adm";
-
 let $a := true or false
 let $b := (true or false) and not(false)
 return {"a":$a,"b":$b}
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let26/let26.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let26/let26.1.ddl.aql
new file mode 100644
index 0000000..d571f25
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let26/let26.1.ddl.aql
@@ -0,0 +1,10 @@
+/*
+ * Description     : Test let clause 
+ * Expected Result : Success 
+ * Date            : 23rd July 2012
+ */
+
+/*
+ * Test let clause - let variable := relational expression
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let26/let26.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let26/let26.2.update.aql
new file mode 100644
index 0000000..4d411e1
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let26/let26.2.update.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     : Test let clause 
+ * Expected Result : Success 
+ * Date            : 23rd July 2012
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et26/et26.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let26/let26.3.query.aql
similarity index 85%
rename from asterix-app/src/test/resources/runtimets/queries/flwor/et26/et26.1.ddl.aql
rename to asterix-app/src/test/resources/runtimets/queries/flwor/let26/let26.3.query.aql
index 5352548..a8afffe 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et26/et26.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let26/let26.3.query.aql
@@ -8,8 +8,6 @@
  * Test let clause - let variable := relational expression
  */
 
-write output to nc1:"rttest/flwor_let26.adm";
-
 let $a := 10 > 9
 let $b := ((100 * 100)/10 -1999) > 3900
 let $c := true != false
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let27/let27.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let27/let27.1.ddl.aql
new file mode 100644
index 0000000..a964168
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let27/let27.1.ddl.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     : Test let clause 
+ * Expected Result : Success 
+ * Date            : 23rd July 2012 
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let27/let27.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let27/let27.2.update.aql
new file mode 100644
index 0000000..a964168
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let27/let27.2.update.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     : Test let clause 
+ * Expected Result : Success 
+ * Date            : 23rd July 2012 
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et27/et27.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let27/let27.3.query.aql
similarity index 84%
rename from asterix-app/src/test/resources/runtimets/queries/flwor/et27/et27.1.ddl.aql
rename to asterix-app/src/test/resources/runtimets/queries/flwor/let27/let27.3.query.aql
index b675e2c..aa5872e 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et27/et27.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let27/let27.3.query.aql
@@ -6,7 +6,6 @@
 
 // Bind arithmetic expressions to variable using let clause
 
-write output to nc1:"rttest/flwor_let27.adm";
 
 let $a := [(100+100),(100-100),(100 * 100),(100 / 100),(100 %10)] 
 return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let28/let28.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let28/let28.1.ddl.aql
new file mode 100644
index 0000000..c93c2df
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let28/let28.1.ddl.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     : Test let clause and floating point literals
+ * Expected Result : Success
+ * Date            : 24th July 2012
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let28/let28.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let28/let28.2.update.aql
new file mode 100644
index 0000000..c93c2df
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let28/let28.2.update.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     : Test let clause and floating point literals
+ * Expected Result : Success
+ * Date            : 24th July 2012
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et28/et28.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let28/let28.3.query.aql
similarity index 81%
rename from asterix-app/src/test/resources/runtimets/queries/flwor/et28/et28.1.ddl.aql
rename to asterix-app/src/test/resources/runtimets/queries/flwor/let28/let28.3.query.aql
index 663304b..2f1b7ce 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et28/et28.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let28/let28.3.query.aql
@@ -4,7 +4,5 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_let28.adm";
-
 let $a := [137.8932f,156f,.98781f, 436.219F,.89217F,16789F]
 return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let29/let29.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let29/let29.1.ddl.aql
new file mode 100644
index 0000000..b7cb3db
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let29/let29.1.ddl.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     : Test let clause and double literals
+ * Expected Result : Success
+ * Date            : 24th July 2012
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let29/let29.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let29/let29.2.update.aql
new file mode 100644
index 0000000..b7cb3db
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let29/let29.2.update.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     : Test let clause and double literals
+ * Expected Result : Success
+ * Date            : 24th July 2012
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et29/et29.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let29/let29.3.query.aql
similarity index 80%
rename from asterix-app/src/test/resources/runtimets/queries/flwor/et29/et29.3.query.aql
rename to asterix-app/src/test/resources/runtimets/queries/flwor/let29/let29.3.query.aql
index 45083eb..55d6319 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et29/et29.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let29/let29.3.query.aql
@@ -4,7 +4,5 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_let29.adm";
-
 let $a := [137.8932,.98781,436.219,.89217,-234.324]
 return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let30/let30.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let30/let30.1.ddl.aql
new file mode 100644
index 0000000..ee62af1
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let30/let30.1.ddl.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     : Test union of two lists, bind each list to a variable
+ * Expected Result : Success
+ * Date            : 24th July 2012
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let30/let30.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let30/let30.2.update.aql
new file mode 100644
index 0000000..ee62af1
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let30/let30.2.update.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     : Test union of two lists, bind each list to a variable
+ * Expected Result : Success
+ * Date            : 24th July 2012
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et30/et30.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let30/let30.3.query.aql
similarity index 89%
rename from asterix-app/src/test/resources/runtimets/queries/flwor/et30/et30.1.ddl.aql
rename to asterix-app/src/test/resources/runtimets/queries/flwor/let30/let30.3.query.aql
index 3229d86..eebc11f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et30/et30.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let30/let30.3.query.aql
@@ -6,8 +6,6 @@
 
 // $a and $b are ordered lists with one Record each.
 
-write output to nc1:"rttest/flwor_let30.adm";
-
 let $a := [{"id":1234,"name":"John Doe","age":56,"salary":50000,"dept":"HR"}]
 let $b := [{"id":3424,"name":"Roger Sanders","age":46,"salary":60000,"dept":"Publishing"}]
 let $c := $a union $b
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let31/let31.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let31/let31.1.ddl.aql
new file mode 100644
index 0000000..ee62af1
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let31/let31.1.ddl.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     : Test union of two lists, bind each list to a variable
+ * Expected Result : Success
+ * Date            : 24th July 2012
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let31/let31.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let31/let31.2.update.aql
new file mode 100644
index 0000000..ee62af1
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let31/let31.2.update.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     : Test union of two lists, bind each list to a variable
+ * Expected Result : Success
+ * Date            : 24th July 2012
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et31/et31.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let31/let31.3.query.aql
similarity index 88%
rename from asterix-app/src/test/resources/runtimets/queries/flwor/et31/et31.1.ddl.aql
rename to asterix-app/src/test/resources/runtimets/queries/flwor/let31/let31.3.query.aql
index 4c8da02..84ac278 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et31/et31.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let31/let31.3.query.aql
@@ -6,8 +6,6 @@
 
 // $a and $b hold one Record each.
 
-write output to nc1:"rttest/flwor_let31.adm";
-
 let $a := {"id":1234,"name":"John Doe","age":56,"salary":50000,"dept":"HR"}
 let $b := {"id":3424,"name":"Roger Sanders","age":46,"salary":60000,"dept":"Publishing"}
 let $c := $a union $b
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let32/let32.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let32/let32.1.ddl.aql
new file mode 100644
index 0000000..ee62af1
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let32/let32.1.ddl.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     : Test union of two lists, bind each list to a variable
+ * Expected Result : Success
+ * Date            : 24th July 2012
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/let32/let32.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let32/let32.2.update.aql
new file mode 100644
index 0000000..ee62af1
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let32/let32.2.update.aql
@@ -0,0 +1,6 @@
+/*
+ * Description     : Test union of two lists, bind each list to a variable
+ * Expected Result : Success
+ * Date            : 24th July 2012
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/et32/et32.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/let32/let32.3.query.aql
similarity index 88%
rename from asterix-app/src/test/resources/runtimets/queries/flwor/et32/et32.1.ddl.aql
rename to asterix-app/src/test/resources/runtimets/queries/flwor/let32/let32.3.query.aql
index f78d8b5..0881fde 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/et32/et32.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/let32/let32.3.query.aql
@@ -4,8 +4,6 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_let32.adm";
-
 let $m := (for $a in [{"id":1234,"name":"John Doe","age":56,"salary":50000,"dept":"HR"}]
 return $a)
 let $n := (for $b in [{"id":3424,"name":"Roger Sanders","age":46,"salary":60000,"dept":"Publishing"}]
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-01/order-by-01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-01/order-by-01.1.ddl.aql
index 7824518..72f702b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-01/order-by-01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-01/order-by-01.1.ddl.aql
@@ -4,8 +4,3 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-01.adm";
-
-for $a in ["two","four","six","eight","ten","twenty","undo"]
-order by $a desc
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-01/order-by-01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-01/order-by-01.2.update.aql
index 7824518..72f702b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-01/order-by-01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-01/order-by-01.2.update.aql
@@ -4,8 +4,3 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-01.adm";
-
-for $a in ["two","four","six","eight","ten","twenty","undo"]
-order by $a desc
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-01/order-by-01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-01/order-by-01.3.query.aql
index 7824518..a5aec23 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-01/order-by-01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-01/order-by-01.3.query.aql
@@ -4,8 +4,6 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-01.adm";
-
 for $a in ["two","four","six","eight","ten","twenty","undo"]
 order by $a desc
 return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-02/order-by-02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-02/order-by-02.1.ddl.aql
index a60d172..72f702b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-02/order-by-02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-02/order-by-02.1.ddl.aql
@@ -4,8 +4,3 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-02.adm";
-
-for $a in ["two","four","six","eight","ten","twenty","undo"]
-order by $a asc
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-02/order-by-02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-02/order-by-02.2.update.aql
index a60d172..72f702b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-02/order-by-02.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-02/order-by-02.2.update.aql
@@ -4,8 +4,3 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-02.adm";
-
-for $a in ["two","four","six","eight","ten","twenty","undo"]
-order by $a asc
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-02/order-by-02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-02/order-by-02.3.query.aql
index a60d172..4cc087c 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-02/order-by-02.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-02/order-by-02.3.query.aql
@@ -4,8 +4,6 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-02.adm";
-
 for $a in ["two","four","six","eight","ten","twenty","undo"]
 order by $a asc
 return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-03/order-by-03.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-03/order-by-03.1.ddl.aql
index eb0c23b..72f702b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-03/order-by-03.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-03/order-by-03.1.ddl.aql
@@ -4,8 +4,3 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-03.adm";
-
-for $b in ["ten","twenty","thirty","forty","fifty","sixty","seventy","ninety"]
-order by string-concat([$b,"test"]) asc
-return string-concat([$b,"test"])
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-03/order-by-03.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-03/order-by-03.2.update.aql
index eb0c23b..72f702b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-03/order-by-03.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-03/order-by-03.2.update.aql
@@ -4,8 +4,3 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-03.adm";
-
-for $b in ["ten","twenty","thirty","forty","fifty","sixty","seventy","ninety"]
-order by string-concat([$b,"test"]) asc
-return string-concat([$b,"test"])
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-03/order-by-03.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-03/order-by-03.3.query.aql
index eb0c23b..3792c74 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-03/order-by-03.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-03/order-by-03.3.query.aql
@@ -4,8 +4,6 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-03.adm";
-
 for $b in ["ten","twenty","thirty","forty","fifty","sixty","seventy","ninety"]
 order by string-concat([$b,"test"]) asc
 return string-concat([$b,"test"])
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-04/order-by-04.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-04/order-by-04.1.ddl.aql
index 65c432f..72f702b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-04/order-by-04.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-04/order-by-04.1.ddl.aql
@@ -4,8 +4,3 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-04.adm";
-
-for $b in ["ten","twenty","thirty","forty","fifty","sixty","seventy","ninety"]
-order by string-concat([$b,"test"]) desc
-return string-concat([$b,"test"])
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-04/order-by-04.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-04/order-by-04.2.update.aql
index 65c432f..72f702b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-04/order-by-04.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-04/order-by-04.2.update.aql
@@ -4,8 +4,3 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-04.adm";
-
-for $b in ["ten","twenty","thirty","forty","fifty","sixty","seventy","ninety"]
-order by string-concat([$b,"test"]) desc
-return string-concat([$b,"test"])
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-04/order-by-04.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-04/order-by-04.3.query.aql
index 65c432f..e7a209b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-04/order-by-04.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-04/order-by-04.3.query.aql
@@ -4,8 +4,6 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-04.adm";
-
 for $b in ["ten","twenty","thirty","forty","fifty","sixty","seventy","ninety"]
 order by string-concat([$b,"test"]) desc
 return string-concat([$b,"test"])
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-05/order-by-05.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-05/order-by-05.1.ddl.aql
index 7f9a751..72f702b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-05/order-by-05.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-05/order-by-05.1.ddl.aql
@@ -4,8 +4,3 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-05.adm";
-
-for $b in ["ten","twenty","thirty","forty","fifty","sixty","seventy","ninety"]
-order by string-concat([$b,""]) desc
-return string-concat([$b,""])
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-05/order-by-05.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-05/order-by-05.2.update.aql
index 7f9a751..72f702b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-05/order-by-05.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-05/order-by-05.2.update.aql
@@ -4,8 +4,3 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-05.adm";
-
-for $b in ["ten","twenty","thirty","forty","fifty","sixty","seventy","ninety"]
-order by string-concat([$b,""]) desc
-return string-concat([$b,""])
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-05/order-by-05.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-05/order-by-05.3.query.aql
index 7f9a751..97816f6 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-05/order-by-05.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-05/order-by-05.3.query.aql
@@ -4,7 +4,6 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-05.adm";
 
 for $b in ["ten","twenty","thirty","forty","fifty","sixty","seventy","ninety"]
 order by string-concat([$b,""]) desc
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-06/order-by-06.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-06/order-by-06.1.ddl.aql
index bf77da1..72f702b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-06/order-by-06.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-06/order-by-06.1.ddl.aql
@@ -4,8 +4,3 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-06.adm";
-
-for $b in ["ten","twenty","thirty","forty","fifty","sixty","seventy","ninety"]
-order by string-concat([$b,""]) asc
-return string-concat([$b,""])
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-06/order-by-06.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-06/order-by-06.2.update.aql
index bf77da1..72f702b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-06/order-by-06.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-06/order-by-06.2.update.aql
@@ -4,8 +4,3 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-06.adm";
-
-for $b in ["ten","twenty","thirty","forty","fifty","sixty","seventy","ninety"]
-order by string-concat([$b,""]) asc
-return string-concat([$b,""])
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-06/order-by-06.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-06/order-by-06.3.query.aql
index bf77da1..791af3a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-06/order-by-06.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-06/order-by-06.3.query.aql
@@ -4,8 +4,6 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-06.adm";
-
 for $b in ["ten","twenty","thirty","forty","fifty","sixty","seventy","ninety"]
 order by string-concat([$b,""]) asc
 return string-concat([$b,""])
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-07/order-by-07.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-07/order-by-07.1.ddl.aql
index 67e6c04..72f702b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-07/order-by-07.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-07/order-by-07.1.ddl.aql
@@ -4,8 +4,3 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-07.adm";
-
-for $b in ["ten","twenty","thirty","forty","fifty","sixty","seventy","ninety"]
-order by string-concat(["",$b]) desc
-return string-concat(["",$b])
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-07/order-by-07.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-07/order-by-07.2.update.aql
index 67e6c04..72f702b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-07/order-by-07.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-07/order-by-07.2.update.aql
@@ -4,8 +4,3 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-07.adm";
-
-for $b in ["ten","twenty","thirty","forty","fifty","sixty","seventy","ninety"]
-order by string-concat(["",$b]) desc
-return string-concat(["",$b])
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-07/order-by-07.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-07/order-by-07.3.query.aql
index 67e6c04..1b22c06 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-07/order-by-07.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-07/order-by-07.3.query.aql
@@ -4,7 +4,6 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-07.adm";
 
 for $b in ["ten","twenty","thirty","forty","fifty","sixty","seventy","ninety"]
 order by string-concat(["",$b]) desc
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-08/order-by-08.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-08/order-by-08.1.ddl.aql
index 59de072..72f702b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-08/order-by-08.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-08/order-by-08.1.ddl.aql
@@ -4,8 +4,3 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-08.adm";
-
-for $b in ["ten","twenty","thirty","forty","fifty","sixty","seventy","ninety"]
-order by string-concat(["",$b]) asc
-return string-concat(["",$b])
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-08/order-by-08.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-08/order-by-08.2.update.aql
index 59de072..72f702b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-08/order-by-08.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-08/order-by-08.2.update.aql
@@ -4,8 +4,3 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-08.adm";
-
-for $b in ["ten","twenty","thirty","forty","fifty","sixty","seventy","ninety"]
-order by string-concat(["",$b]) asc
-return string-concat(["",$b])
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-08/order-by-08.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-08/order-by-08.3.query.aql
index 59de072..6a823c8 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-08/order-by-08.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-08/order-by-08.3.query.aql
@@ -4,8 +4,6 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-08.adm";
-
 for $b in ["ten","twenty","thirty","forty","fifty","sixty","seventy","ninety"]
 order by string-concat(["",$b]) asc
 return string-concat(["",$b])
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-09/order-by-09.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-09/order-by-09.1.ddl.aql
index cce7299..72f702b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-09/order-by-09.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-09/order-by-09.1.ddl.aql
@@ -4,8 +4,3 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-09.adm";
-
-for $x in ["ten","twenty","thirty","forty","fifty","sixty","seventy","ninety"]
-order by string-concat([$x,$x]) asc 
-return string-concat([$x,$x])
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-09/order-by-09.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-09/order-by-09.2.update.aql
index cce7299..72f702b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-09/order-by-09.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-09/order-by-09.2.update.aql
@@ -4,8 +4,3 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-09.adm";
-
-for $x in ["ten","twenty","thirty","forty","fifty","sixty","seventy","ninety"]
-order by string-concat([$x,$x]) asc 
-return string-concat([$x,$x])
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-09/order-by-09.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-09/order-by-09.3.query.aql
index cce7299..0df3a9e 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-09/order-by-09.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-09/order-by-09.3.query.aql
@@ -4,8 +4,6 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-09.adm";
-
 for $x in ["ten","twenty","thirty","forty","fifty","sixty","seventy","ninety"]
 order by string-concat([$x,$x]) asc 
 return string-concat([$x,$x])
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-10/order-by-10.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-10/order-by-10.1.ddl.aql
index 91b7dc7..72f702b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-10/order-by-10.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-10/order-by-10.1.ddl.aql
@@ -4,8 +4,3 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-10.adm";
-
-for $x in ["ten","twenty","thirty","forty","fifty","sixty","seventy","ninety"]
-order by string-concat([$x,$x]) desc 
-return string-concat([$x,$x])
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-10/order-by-10.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-10/order-by-10.2.update.aql
index 91b7dc7..72f702b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-10/order-by-10.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-10/order-by-10.2.update.aql
@@ -4,8 +4,3 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-10.adm";
-
-for $x in ["ten","twenty","thirty","forty","fifty","sixty","seventy","ninety"]
-order by string-concat([$x,$x]) desc 
-return string-concat([$x,$x])
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-10/order-by-10.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-10/order-by-10.3.query.aql
index 91b7dc7..dd2d97e 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-10/order-by-10.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-10/order-by-10.3.query.aql
@@ -4,7 +4,6 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-10.adm";
 
 for $x in ["ten","twenty","thirty","forty","fifty","sixty","seventy","ninety"]
 order by string-concat([$x,$x]) desc 
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-11/order-by-11.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-11/order-by-11.1.ddl.aql
index c97b708..72f702b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-11/order-by-11.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-11/order-by-11.1.ddl.aql
@@ -4,8 +4,3 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-11.adm";
-
-for $x in [1,3,4,5,2,3,33,55,43,12,34,45,67,66,89,0,-1,999]
-order by ($x+$x) asc
-return ($x+$x)
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-11/order-by-11.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-11/order-by-11.2.update.aql
index c97b708..72f702b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-11/order-by-11.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-11/order-by-11.2.update.aql
@@ -4,8 +4,3 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-11.adm";
-
-for $x in [1,3,4,5,2,3,33,55,43,12,34,45,67,66,89,0,-1,999]
-order by ($x+$x) asc
-return ($x+$x)
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-11/order-by-11.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-11/order-by-11.3.query.aql
index c97b708..5b79987 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-11/order-by-11.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-11/order-by-11.3.query.aql
@@ -4,8 +4,6 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-11.adm";
-
 for $x in [1,3,4,5,2,3,33,55,43,12,34,45,67,66,89,0,-1,999]
 order by ($x+$x) asc
 return ($x+$x)
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-12/order-by-12.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-12/order-by-12.1.ddl.aql
index b604158..72f702b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-12/order-by-12.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-12/order-by-12.1.ddl.aql
@@ -4,8 +4,3 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-12.adm";
-
-for $x in [[1,3,4],[5,2],[3,33,55],[43,12,34],[45,67],[66,89,0],[-1,999]]
-order by len($x)
-return { "x":$x,"len($x)":len($x) }
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-12/order-by-12.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-12/order-by-12.2.update.aql
index b604158..72f702b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-12/order-by-12.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-12/order-by-12.2.update.aql
@@ -4,8 +4,3 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-12.adm";
-
-for $x in [[1,3,4],[5,2],[3,33,55],[43,12,34],[45,67],[66,89,0],[-1,999]]
-order by len($x)
-return { "x":$x,"len($x)":len($x) }
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-12/order-by-12.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-12/order-by-12.3.query.aql
index b604158..b620a05 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-12/order-by-12.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/order-by-12/order-by-12.3.query.aql
@@ -4,8 +4,6 @@
  * Date            : 24th July 2012
  */
 
-write output to nc1:"rttest/flwor_order-by-12.adm";
-
 for $x in [[1,3,4],[5,2],[3,33,55],[43,12,34],[45,67],[66,89,0],[-1,999]]
 order by len($x)
 return { "x":$x,"len($x)":len($x) }
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-01/ret-01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-01/ret-01.1.ddl.aql
index 72fb94a..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-01/ret-01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-01/ret-01.1.ddl.aql
@@ -1,12 +0,0 @@
-/*
- * Description      :  Test return clause of the FLWOR expression
- * Expected Result  :  Success
- * Date             :  7th July 2012
- */
-
-// return string length
-
-write output to nc1:"rttest/flwor_ret-01.adm";
-
-for $x in ["ten","twenty","thirty","forty","fifty","sixty","seventy","ninety"]
-return string-length($x)
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-01/ret-01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-01/ret-01.2.update.aql
index 72fb94a..a45e5e8 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-01/ret-01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-01/ret-01.2.update.aql
@@ -6,7 +6,3 @@
 
 // return string length
 
-write output to nc1:"rttest/flwor_ret-01.adm";
-
-for $x in ["ten","twenty","thirty","forty","fifty","sixty","seventy","ninety"]
-return string-length($x)
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-01/ret-01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-01/ret-01.3.query.aql
index 72fb94a..a67b7f1 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-01/ret-01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-01/ret-01.3.query.aql
@@ -6,7 +6,6 @@
 
 // return string length
 
-write output to nc1:"rttest/flwor_ret-01.adm";
 
 for $x in ["ten","twenty","thirty","forty","fifty","sixty","seventy","ninety"]
 return string-length($x)
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-02/ret-02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-02/ret-02.1.ddl.aql
index 5201cc5..837342d 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-02/ret-02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-02/ret-02.1.ddl.aql
@@ -4,9 +4,3 @@
  * Date             :  7th July 2012
  */
 
-// Return a string
-
-write output to nc1:"rttest/flwor_ret-02.adm";
-
-for $x in [true]
-return "this is a test string"
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-02/ret-02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-02/ret-02.2.update.aql
index 5201cc5..837342d 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-02/ret-02.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-02/ret-02.2.update.aql
@@ -4,9 +4,3 @@
  * Date             :  7th July 2012
  */
 
-// Return a string
-
-write output to nc1:"rttest/flwor_ret-02.adm";
-
-for $x in [true]
-return "this is a test string"
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-02/ret-02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-02/ret-02.3.query.aql
index 5201cc5..6c0bfb4 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-02/ret-02.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-02/ret-02.3.query.aql
@@ -6,7 +6,6 @@
 
 // Return a string
 
-write output to nc1:"rttest/flwor_ret-02.adm";
 
 for $x in [true]
 return "this is a test string"
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-03/ret-03.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-03/ret-03.1.ddl.aql
index e51f787..e61b354 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-03/ret-03.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-03/ret-03.1.ddl.aql
@@ -5,7 +5,3 @@
  * Date             :  26th July 2012
  */
 
-write output to nc1:"rttest/flwor_ret-03.adm";
-
-for $x in [true]
-return (if(true) then "YES" else "NO") 
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-03/ret-03.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-03/ret-03.2.update.aql
index e51f787..e61b354 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-03/ret-03.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-03/ret-03.2.update.aql
@@ -5,7 +5,3 @@
  * Date             :  26th July 2012
  */
 
-write output to nc1:"rttest/flwor_ret-03.adm";
-
-for $x in [true]
-return (if(true) then "YES" else "NO") 
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-03/ret-03.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-03/ret-03.3.query.aql
index e51f787..44cc1b8 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-03/ret-03.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-03/ret-03.3.query.aql
@@ -5,7 +5,5 @@
  * Date             :  26th July 2012
  */
 
-write output to nc1:"rttest/flwor_ret-03.adm";
-
 for $x in [true]
 return (if(true) then "YES" else "NO") 
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-04/ret-04.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-04/ret-04.1.ddl.aql
index 5974ed4..d4a99b2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-04/ret-04.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-04/ret-04.1.ddl.aql
@@ -5,8 +5,3 @@
  * Date             :  26th July 2012
  */
 
-write output to nc1:"rttest/flwor_ret-04.adm";
-
-
-let $a := 12345
-return (if($a > 999) then "GREATER" else "LESSER") 
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-04/ret-04.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-04/ret-04.2.update.aql
index 5974ed4..d4a99b2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-04/ret-04.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-04/ret-04.2.update.aql
@@ -5,8 +5,3 @@
  * Date             :  26th July 2012
  */
 
-write output to nc1:"rttest/flwor_ret-04.adm";
-
-
-let $a := 12345
-return (if($a > 999) then "GREATER" else "LESSER") 
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-04/ret-04.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-04/ret-04.3.query.aql
index 5974ed4..6baaf9a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-04/ret-04.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-04/ret-04.3.query.aql
@@ -5,8 +5,5 @@
  * Date             :  26th July 2012
  */
 
-write output to nc1:"rttest/flwor_ret-04.adm";
-
-
 let $a := 12345
 return (if($a > 999) then "GREATER" else "LESSER") 
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-05/ret-05.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-05/ret-05.1.ddl.aql
index 4f6249b..8999781 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-05/ret-05.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-05/ret-05.1.ddl.aql
@@ -5,7 +5,3 @@
  * Date             :  26th July 2012
  */
 
-write output to nc1:"rttest/flwor_ret-05.adm";
-
-let $b := 12345
-return (for $a in [[1,2,3],[4,5,6,7],[8,9],[0,4,5],[6,7,1],[2,3,4],[5,6,7],[8,9,0]] return $a)
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-05/ret-05.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-05/ret-05.2.update.aql
index 4f6249b..8999781 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-05/ret-05.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-05/ret-05.2.update.aql
@@ -5,7 +5,3 @@
  * Date             :  26th July 2012
  */
 
-write output to nc1:"rttest/flwor_ret-05.adm";
-
-let $b := 12345
-return (for $a in [[1,2,3],[4,5,6,7],[8,9],[0,4,5],[6,7,1],[2,3,4],[5,6,7],[8,9,0]] return $a)
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-05/ret-05.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-05/ret-05.3.query.aql
index 4f6249b..c86a402 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-05/ret-05.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-05/ret-05.3.query.aql
@@ -5,7 +5,5 @@
  * Date             :  26th July 2012
  */
 
-write output to nc1:"rttest/flwor_ret-05.adm";
-
 let $b := 12345
 return (for $a in [[1,2,3],[4,5,6,7],[8,9],[0,4,5],[6,7,1],[2,3,4],[5,6,7],[8,9,0]] return $a)
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-06/ret-06.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-06/ret-06.1.ddl.aql
index e164cd3..be87866 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-06/ret-06.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-06/ret-06.1.ddl.aql
@@ -5,7 +5,3 @@
  * Date             :  26th July 2012
  */
 
-write output to nc1:"rttest/flwor_ret-06.adm";
-
-let $b := 12345
-return {{"Welcome","UCI","Anteater","DBH","ICS"}}
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-06/ret-06.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-06/ret-06.2.update.aql
index e164cd3..be87866 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-06/ret-06.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-06/ret-06.2.update.aql
@@ -5,7 +5,3 @@
  * Date             :  26th July 2012
  */
 
-write output to nc1:"rttest/flwor_ret-06.adm";
-
-let $b := 12345
-return {{"Welcome","UCI","Anteater","DBH","ICS"}}
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-06/ret-06.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-06/ret-06.3.query.aql
index e164cd3..b2b572b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-06/ret-06.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-06/ret-06.3.query.aql
@@ -5,7 +5,5 @@
  * Date             :  26th July 2012
  */
 
-write output to nc1:"rttest/flwor_ret-06.adm";
-
 let $b := 12345
 return {{"Welcome","UCI","Anteater","DBH","ICS"}}
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-07/ret-07.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-07/ret-07.1.ddl.aql
index 73c86cc..b3b1c5a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-07/ret-07.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-07/ret-07.1.ddl.aql
@@ -4,9 +4,3 @@
  * Date             :  26th July 2012
  */
 
-// return nothing
-
-write output to nc1:"rttest/flwor_ret-07.adm";
-
-let $b := true
-return {}
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-07/ret-07.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-07/ret-07.2.update.aql
index 73c86cc..b3b1c5a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-07/ret-07.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-07/ret-07.2.update.aql
@@ -4,9 +4,3 @@
  * Date             :  26th July 2012
  */
 
-// return nothing
-
-write output to nc1:"rttest/flwor_ret-07.adm";
-
-let $b := true
-return {}
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-07/ret-07.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-07/ret-07.3.query.aql
index 73c86cc..abd3893 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-07/ret-07.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-07/ret-07.3.query.aql
@@ -4,9 +4,6 @@
  * Date             :  26th July 2012
  */
 
-// return nothing
-
-write output to nc1:"rttest/flwor_ret-07.adm";
 
 let $b := true
 return {}
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-08/ret-08.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-08/ret-08.1.ddl.aql
index 0b67dca..b3b1c5a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-08/ret-08.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-08/ret-08.1.ddl.aql
@@ -4,10 +4,3 @@
  * Date             :  26th July 2012
  */
 
-// for and return in return clause
-
-write output to nc1:"rttest/flwor_ret-08.adm";
-
-for $a in [1,2,3,4,5,6,7,8]
-return {"a":$a,"inner-for":(for $b in [11,22,33,44,55,66,77,88] return $b)}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-08/ret-08.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-08/ret-08.2.update.aql
index 0b67dca..b3b1c5a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-08/ret-08.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-08/ret-08.2.update.aql
@@ -4,10 +4,3 @@
  * Date             :  26th July 2012
  */
 
-// for and return in return clause
-
-write output to nc1:"rttest/flwor_ret-08.adm";
-
-for $a in [1,2,3,4,5,6,7,8]
-return {"a":$a,"inner-for":(for $b in [11,22,33,44,55,66,77,88] return $b)}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-08/ret-08.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-08/ret-08.3.query.aql
index 0b67dca..d73584a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-08/ret-08.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-08/ret-08.3.query.aql
@@ -6,8 +6,6 @@
 
 // for and return in return clause
 
-write output to nc1:"rttest/flwor_ret-08.adm";
-
 for $a in [1,2,3,4,5,6,7,8]
 return {"a":$a,"inner-for":(for $b in [11,22,33,44,55,66,77,88] return $b)}
 
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-09/ret-09.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-09/ret-09.1.ddl.aql
index a186c99..b3b1c5a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-09/ret-09.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-09/ret-09.1.ddl.aql
@@ -4,9 +4,3 @@
  * Date             :  26th July 2012
  */
 
-// return a constant
-
-write output to nc1:"rttest/flwor_ret-09.adm";
-
-let $b:=true
-return 1
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-09/ret-09.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-09/ret-09.2.update.aql
index a186c99..b3b1c5a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-09/ret-09.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-09/ret-09.2.update.aql
@@ -4,9 +4,3 @@
  * Date             :  26th July 2012
  */
 
-// return a constant
-
-write output to nc1:"rttest/flwor_ret-09.adm";
-
-let $b:=true
-return 1
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-09/ret-09.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-09/ret-09.3.query.aql
index a186c99..121b6b8 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-09/ret-09.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-09/ret-09.3.query.aql
@@ -6,7 +6,5 @@
 
 // return a constant
 
-write output to nc1:"rttest/flwor_ret-09.adm";
-
 let $b:=true
 return 1
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-10/ret-10.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-10/ret-10.1.ddl.aql
index cc05a11..b3b1c5a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-10/ret-10.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-10/ret-10.1.ddl.aql
@@ -4,10 +4,3 @@
  * Date             :  26th July 2012
  */
 
-// nested for and return within another for
-
-write output to nc1:"rttest/flwor_ret-10.adm";
-
-for $a in 
-    for $b in [1,2,3,4,5,6,7,8,9,0] return $b
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-10/ret-10.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-10/ret-10.2.update.aql
index cc05a11..b3b1c5a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-10/ret-10.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-10/ret-10.2.update.aql
@@ -4,10 +4,3 @@
  * Date             :  26th July 2012
  */
 
-// nested for and return within another for
-
-write output to nc1:"rttest/flwor_ret-10.adm";
-
-for $a in 
-    for $b in [1,2,3,4,5,6,7,8,9,0] return $b
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-10/ret-10.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-10/ret-10.3.query.aql
index cc05a11..12100ee 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-10/ret-10.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-10/ret-10.3.query.aql
@@ -6,8 +6,6 @@
 
 // nested for and return within another for
 
-write output to nc1:"rttest/flwor_ret-10.adm";
-
 for $a in 
     for $b in [1,2,3,4,5,6,7,8,9,0] return $b
 return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-11/ret-11.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-11/ret-11.1.ddl.aql
index 3f54a13..b3b1c5a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-11/ret-11.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-11/ret-11.1.ddl.aql
@@ -4,7 +4,3 @@
  * Date             :  26th July 2012
  */
 
-write output to nc1:"rttest/flwor_ret-11.adm";
-
-for $a in [1,2,3,4,5,6,7,8,9] 
-return ($a + 1)
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-11/ret-11.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-11/ret-11.2.update.aql
index 3f54a13..b3b1c5a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-11/ret-11.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-11/ret-11.2.update.aql
@@ -4,7 +4,3 @@
  * Date             :  26th July 2012
  */
 
-write output to nc1:"rttest/flwor_ret-11.adm";
-
-for $a in [1,2,3,4,5,6,7,8,9] 
-return ($a + 1)
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-11/ret-11.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-11/ret-11.3.query.aql
index 3f54a13..ad607c7 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-11/ret-11.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-11/ret-11.3.query.aql
@@ -4,7 +4,5 @@
  * Date             :  26th July 2012
  */
 
-write output to nc1:"rttest/flwor_ret-11.adm";
-
 for $a in [1,2,3,4,5,6,7,8,9] 
 return ($a + 1)
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-12/ret-12.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-12/ret-12.1.ddl.aql
index 7ce8e90..b3b1c5a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-12/ret-12.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-12/ret-12.1.ddl.aql
@@ -4,7 +4,3 @@
  * Date             :  26th July 2012
  */
 
-write output to nc1:"rttest/flwor_ret-12.adm";
-
-for $a in [1,2,3,4,5,6,7,8,9] 
-return ($a - 1)
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-12/ret-12.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-12/ret-12.2.update.aql
index 7ce8e90..b3b1c5a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-12/ret-12.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-12/ret-12.2.update.aql
@@ -4,7 +4,3 @@
  * Date             :  26th July 2012
  */
 
-write output to nc1:"rttest/flwor_ret-12.adm";
-
-for $a in [1,2,3,4,5,6,7,8,9] 
-return ($a - 1)
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-12/ret-12.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-12/ret-12.3.query.aql
index 7ce8e90..92f8aff 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-12/ret-12.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-12/ret-12.3.query.aql
@@ -4,7 +4,5 @@
  * Date             :  26th July 2012
  */
 
-write output to nc1:"rttest/flwor_ret-12.adm";
-
 for $a in [1,2,3,4,5,6,7,8,9] 
 return ($a - 1)
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-13/ret-13.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-13/ret-13.1.ddl.aql
index cc16cb3..b3b1c5a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-13/ret-13.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-13/ret-13.1.ddl.aql
@@ -4,7 +4,3 @@
  * Date             :  26th July 2012
  */
 
-write output to nc1:"rttest/flwor_ret-13.adm";
-
-for $a in [1,2,3,4,5,6,7,8,9] 
-return ($a * 9)
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-13/ret-13.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-13/ret-13.2.update.aql
index cc16cb3..b3b1c5a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-13/ret-13.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-13/ret-13.2.update.aql
@@ -4,7 +4,3 @@
  * Date             :  26th July 2012
  */
 
-write output to nc1:"rttest/flwor_ret-13.adm";
-
-for $a in [1,2,3,4,5,6,7,8,9] 
-return ($a * 9)
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-13/ret-13.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-13/ret-13.3.query.aql
index cc16cb3..54f6b1f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-13/ret-13.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-13/ret-13.3.query.aql
@@ -4,7 +4,6 @@
  * Date             :  26th July 2012
  */
 
-write output to nc1:"rttest/flwor_ret-13.adm";
 
 for $a in [1,2,3,4,5,6,7,8,9] 
 return ($a * 9)
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-14/ret-14.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-14/ret-14.1.ddl.aql
index 4716e71..b3b1c5a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-14/ret-14.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-14/ret-14.1.ddl.aql
@@ -4,9 +4,3 @@
  * Date             :  26th July 2012
  */
 
-// Return record
-
-write output to nc1:"rttest/flwor_ret-14.adm";
-
-let $a := true
-return {"name":"John Doe", "age":26,"sex":"M","salary":50000,"dept":"HR"}
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-14/ret-14.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-14/ret-14.2.update.aql
index 4716e71..b3b1c5a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-14/ret-14.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-14/ret-14.2.update.aql
@@ -4,9 +4,3 @@
  * Date             :  26th July 2012
  */
 
-// Return record
-
-write output to nc1:"rttest/flwor_ret-14.adm";
-
-let $a := true
-return {"name":"John Doe", "age":26,"sex":"M","salary":50000,"dept":"HR"}
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-14/ret-14.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-14/ret-14.3.query.aql
index 4716e71..baae79a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-14/ret-14.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-14/ret-14.3.query.aql
@@ -6,7 +6,5 @@
 
 // Return record
 
-write output to nc1:"rttest/flwor_ret-14.adm";
-
 let $a := true
 return {"name":"John Doe", "age":26,"sex":"M","salary":50000,"dept":"HR"}
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-15/ret-15.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-15/ret-15.1.ddl.aql
index e17312d..fbf1eae 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-15/ret-15.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-15/ret-15.1.ddl.aql
@@ -4,12 +4,3 @@
  * Date             :  30th July 2012
  */
 
-// Return  op1 and op2 or op3 and op4
-
-write output to nc1:"rttest/flwor_ret-15.adm";
-
-let $a := true
-let $b := false
-let $c := true
-let $d := false
-return ($a and $b or $c and $d)
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-15/ret-15.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-15/ret-15.2.update.aql
index e17312d..fbf1eae 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-15/ret-15.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-15/ret-15.2.update.aql
@@ -4,12 +4,3 @@
  * Date             :  30th July 2012
  */
 
-// Return  op1 and op2 or op3 and op4
-
-write output to nc1:"rttest/flwor_ret-15.adm";
-
-let $a := true
-let $b := false
-let $c := true
-let $d := false
-return ($a and $b or $c and $d)
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-15/ret-15.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-15/ret-15.3.query.aql
index e17312d..ec64936 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-15/ret-15.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-15/ret-15.3.query.aql
@@ -6,8 +6,6 @@
 
 // Return  op1 and op2 or op3 and op4
 
-write output to nc1:"rttest/flwor_ret-15.adm";
-
 let $a := true
 let $b := false
 let $c := true
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-16/ret-16.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-16/ret-16.1.ddl.aql
index 185d7b6..fbf1eae 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-16/ret-16.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-16/ret-16.1.ddl.aql
@@ -4,12 +4,3 @@
  * Date             :  30th July 2012
  */
 
-// Return arithmetic-expr1 and arithmetic-expr2 
-
-write output to nc1:"rttest/flwor_ret-16.adm";
-
-let $a := 100 + 100
-let $b := 13.4 * 14.97
-let $c := 9999 + 98677
-let $d := 34.67 / 5.324
-return (($a*$d) and ($b / $c))
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-16/ret-16.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-16/ret-16.2.update.aql
index 185d7b6..fbf1eae 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-16/ret-16.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-16/ret-16.2.update.aql
@@ -4,12 +4,3 @@
  * Date             :  30th July 2012
  */
 
-// Return arithmetic-expr1 and arithmetic-expr2 
-
-write output to nc1:"rttest/flwor_ret-16.adm";
-
-let $a := 100 + 100
-let $b := 13.4 * 14.97
-let $c := 9999 + 98677
-let $d := 34.67 / 5.324
-return (($a*$d) and ($b / $c))
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-16/ret-16.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-16/ret-16.3.query.aql
index 185d7b6..dd494e5 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-16/ret-16.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-16/ret-16.3.query.aql
@@ -6,8 +6,6 @@
 
 // Return arithmetic-expr1 and arithmetic-expr2 
 
-write output to nc1:"rttest/flwor_ret-16.adm";
-
 let $a := 100 + 100
 let $b := 13.4 * 14.97
 let $c := 9999 + 98677
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-17/ret-17.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-17/ret-17.1.ddl.aql
index f384f81..fbf1eae 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-17/ret-17.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-17/ret-17.1.ddl.aql
@@ -4,12 +4,3 @@
  * Date             :  30th July 2012
  */
 
-// Return arithmetic-expr1 and arithmetic-expr2 
-
-write output to nc1:"rttest/flwor_ret-17.adm";
-
-let $a := 100 + 100
-let $b := 13.4 * 14.97
-let $c := 9999 + 98677
-let $d := 34.67 / 5.324
-return (($a*$d) and ($b / $c))
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-17/ret-17.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-17/ret-17.2.update.aql
index f384f81..fbf1eae 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-17/ret-17.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-17/ret-17.2.update.aql
@@ -4,12 +4,3 @@
  * Date             :  30th July 2012
  */
 
-// Return arithmetic-expr1 and arithmetic-expr2 
-
-write output to nc1:"rttest/flwor_ret-17.adm";
-
-let $a := 100 + 100
-let $b := 13.4 * 14.97
-let $c := 9999 + 98677
-let $d := 34.67 / 5.324
-return (($a*$d) and ($b / $c))
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-17/ret-17.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-17/ret-17.3.query.aql
index f384f81..dd494e5 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-17/ret-17.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-17/ret-17.3.query.aql
@@ -6,8 +6,6 @@
 
 // Return arithmetic-expr1 and arithmetic-expr2 
 
-write output to nc1:"rttest/flwor_ret-17.adm";
-
 let $a := 100 + 100
 let $b := 13.4 * 14.97
 let $c := 9999 + 98677
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-18/ret-18.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-18/ret-18.1.ddl.aql
index cf858f8..fbf1eae 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-18/ret-18.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-18/ret-18.1.ddl.aql
@@ -4,9 +4,3 @@
  * Date             :  30th July 2012
  */
 
-// Return an item from the ordered list 
-
-write output to nc1:"rttest/flwor_ret-18.adm";
-
-let $a := [1,2,3,4,5,6,7]
-return $a[6]
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-18/ret-18.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-18/ret-18.2.update.aql
index cf858f8..fbf1eae 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-18/ret-18.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-18/ret-18.2.update.aql
@@ -4,9 +4,3 @@
  * Date             :  30th July 2012
  */
 
-// Return an item from the ordered list 
-
-write output to nc1:"rttest/flwor_ret-18.adm";
-
-let $a := [1,2,3,4,5,6,7]
-return $a[6]
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-18/ret-18.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-18/ret-18.3.query.aql
index cf858f8..cf33381 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-18/ret-18.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-18/ret-18.3.query.aql
@@ -6,7 +6,5 @@
 
 // Return an item from the ordered list 
 
-write output to nc1:"rttest/flwor_ret-18.adm";
-
 let $a := [1,2,3,4,5,6,7]
 return $a[6]
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-19/ret-19.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-19/ret-19.1.ddl.aql
index 4cfa63b..fbf1eae 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-19/ret-19.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-19/ret-19.1.ddl.aql
@@ -4,9 +4,3 @@
  * Date             :  30th July 2012
  */
 
-// Return an item from the ordered list 
-
-write output to nc1:"rttest/flwor_ret-19.adm";
-
-let $a := [[1,2,3,4,5,6,7],[7,8,9,10]]
-return $a[0]
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-19/ret-19.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-19/ret-19.2.update.aql
index 4cfa63b..fbf1eae 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-19/ret-19.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-19/ret-19.2.update.aql
@@ -4,9 +4,3 @@
  * Date             :  30th July 2012
  */
 
-// Return an item from the ordered list 
-
-write output to nc1:"rttest/flwor_ret-19.adm";
-
-let $a := [[1,2,3,4,5,6,7],[7,8,9,10]]
-return $a[0]
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-19/ret-19.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-19/ret-19.3.query.aql
index 4cfa63b..8bd5918 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/ret-19/ret-19.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/ret-19/ret-19.3.query.aql
@@ -6,7 +6,5 @@
 
 // Return an item from the ordered list 
 
-write output to nc1:"rttest/flwor_ret-19.adm";
-
 let $a := [[1,2,3,4,5,6,7],[7,8,9,10]]
 return $a[0]
diff --git a/asterix-app/src/test/resources/runtimets/queries/hdfs/hdfs_02/hdfs_02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/hdfs/hdfs_02/hdfs_02.1.ddl.aql
index 8271f1d..fa129c3 100644
--- a/asterix-app/src/test/resources/runtimets/queries/hdfs/hdfs_02/hdfs_02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/hdfs/hdfs_02/hdfs_02.1.ddl.aql
@@ -6,21 +6,8 @@
 */
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type LineType as closed {
  content: string
 };
 
-create external dataset TextDataset(LineType)
-using hdfs
-(("hdfs"="hdfs://127.0.0.1:31888"),("path"="/asterix/textFileS"),("input-format"="sequence-input-format"),("format"="delimited-text"),("delimiter"="."));
-
-write output to nc1:"rttest/hdfs_hdfs_02.adm";
-
-for $line in dataset('TextDataset')
-let $tokens := word-tokens($line.content)
-for $token in $tokens
-group by $tok := $token with $token
-order by $tok
-return { "word": $tok, "count": count($token) }
diff --git a/asterix-app/src/test/resources/runtimets/queries/hdfs/hdfs_02/hdfs_02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/hdfs/hdfs_02/hdfs_02.2.update.aql
index 8271f1d..762e53b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/hdfs/hdfs_02/hdfs_02.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/hdfs/hdfs_02/hdfs_02.2.update.aql
@@ -4,23 +4,10 @@
 * Expected Res : Success
 * Date         : 7th Jan 2013
 */
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type LineType as closed {
- content: string
-};
 
 create external dataset TextDataset(LineType)
 using hdfs
 (("hdfs"="hdfs://127.0.0.1:31888"),("path"="/asterix/textFileS"),("input-format"="sequence-input-format"),("format"="delimited-text"),("delimiter"="."));
 
-write output to nc1:"rttest/hdfs_hdfs_02.adm";
-
-for $line in dataset('TextDataset')
-let $tokens := word-tokens($line.content)
-for $token in $tokens
-group by $tok := $token with $token
-order by $tok
-return { "word": $tok, "count": count($token) }
diff --git a/asterix-app/src/test/resources/runtimets/queries/hdfs/hdfs_02/hdfs_02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/hdfs/hdfs_02/hdfs_02.3.query.aql
index 8271f1d..be4187e 100644
--- a/asterix-app/src/test/resources/runtimets/queries/hdfs/hdfs_02/hdfs_02.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/hdfs/hdfs_02/hdfs_02.3.query.aql
@@ -4,20 +4,8 @@
 * Expected Res : Success
 * Date         : 7th Jan 2013
 */
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type LineType as closed {
- content: string
-};
-
-create external dataset TextDataset(LineType)
-using hdfs
-(("hdfs"="hdfs://127.0.0.1:31888"),("path"="/asterix/textFileS"),("input-format"="sequence-input-format"),("format"="delimited-text"),("delimiter"="."));
-
-write output to nc1:"rttest/hdfs_hdfs_02.adm";
-
 for $line in dataset('TextDataset')
 let $tokens := word-tokens($line.content)
 for $token in $tokens
diff --git a/asterix-app/src/test/resources/runtimets/queries/hdfs/hdfs_03/hdfs_03.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/hdfs/hdfs_03/hdfs_03.1.ddl.aql
index 4ddf511..cd47745 100644
--- a/asterix-app/src/test/resources/runtimets/queries/hdfs/hdfs_03/hdfs_03.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/hdfs/hdfs_03/hdfs_03.1.ddl.aql
@@ -8,21 +8,8 @@
 */
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type LineType as closed {
  content: string
 };
 
-create external dataset TextDataset(LineType)
-using hdfs
-(("hdfs"="hdfs://127.0.0.1:31888"),("path"="/asterix/large_text"),("input-format"="text-input-format"),("format"="delimited-text"),("delimiter"="."));
-
-write output to nc1:"rttest/hdfs_hdfs_03.adm";
-
-for $line in dataset('TextDataset')
-let $tokens := word-tokens($line.content)
-for $token in $tokens
-group by $tok := $token with $token
-order by $tok
-return { "word": $tok, "count": count($token) }
diff --git a/asterix-app/src/test/resources/runtimets/queries/hdfs/hdfs_03/hdfs_03.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/hdfs/hdfs_03/hdfs_03.2.update.aql
index 4ddf511..34f3b59 100644
--- a/asterix-app/src/test/resources/runtimets/queries/hdfs/hdfs_03/hdfs_03.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/hdfs/hdfs_03/hdfs_03.2.update.aql
@@ -6,23 +6,9 @@
 * Expected Res : Success
 * Date         : 7th Jan 2013
 */
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type LineType as closed {
- content: string
-};
-
 create external dataset TextDataset(LineType)
 using hdfs
 (("hdfs"="hdfs://127.0.0.1:31888"),("path"="/asterix/large_text"),("input-format"="text-input-format"),("format"="delimited-text"),("delimiter"="."));
 
-write output to nc1:"rttest/hdfs_hdfs_03.adm";
-
-for $line in dataset('TextDataset')
-let $tokens := word-tokens($line.content)
-for $token in $tokens
-group by $tok := $token with $token
-order by $tok
-return { "word": $tok, "count": count($token) }
diff --git a/asterix-app/src/test/resources/runtimets/queries/hdfs/hdfs_03/hdfs_03.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/hdfs/hdfs_03/hdfs_03.3.query.aql
index 4ddf511..dae4648 100644
--- a/asterix-app/src/test/resources/runtimets/queries/hdfs/hdfs_03/hdfs_03.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/hdfs/hdfs_03/hdfs_03.3.query.aql
@@ -6,20 +6,8 @@
 * Expected Res : Success
 * Date         : 7th Jan 2013
 */
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type LineType as closed {
- content: string
-};
-
-create external dataset TextDataset(LineType)
-using hdfs
-(("hdfs"="hdfs://127.0.0.1:31888"),("path"="/asterix/large_text"),("input-format"="text-input-format"),("format"="delimited-text"),("delimiter"="."));
-
-write output to nc1:"rttest/hdfs_hdfs_03.adm";
-
 for $line in dataset('TextDataset')
 let $tokens := word-tokens($line.content)
 for $token in $tokens
diff --git a/asterix-app/src/test/resources/runtimets/queries/hdfs/issue_245_hdfs/issue_245_hdfs.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/hdfs/issue_245_hdfs/issue_245_hdfs.1.ddl.aql
index 4a42a20..41801a8 100644
--- a/asterix-app/src/test/resources/runtimets/queries/hdfs/issue_245_hdfs/issue_245_hdfs.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/hdfs/issue_245_hdfs/issue_245_hdfs.1.ddl.aql
@@ -7,17 +7,8 @@
 */
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type LineType as closed {
  line: string
 };
 
-create external dataset TextDataset(LineType)
-using hdfs
-(("hdfs"="hdfs://127.0.0.1:31888"),("path"="/asterix/asterix_info.txt"),("input-format"="text-input-format"),("format"="delimited-text"),("delimiter"="."));
-
-write output to nc1:"rttest/hdfs_issue_245_hdfs.adm";
-
-for $x in dataset('TextDataset')
-return $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/hdfs/issue_245_hdfs/issue_245_hdfs.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/hdfs/issue_245_hdfs/issue_245_hdfs.2.update.aql
index 4a42a20..4ec449a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/hdfs/issue_245_hdfs/issue_245_hdfs.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/hdfs/issue_245_hdfs/issue_245_hdfs.2.update.aql
@@ -5,19 +5,9 @@
 * Issue        : 245
 * Date         : 7th Jan 2013
 */
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type LineType as closed {
- line: string
-};
-
 create external dataset TextDataset(LineType)
 using hdfs
 (("hdfs"="hdfs://127.0.0.1:31888"),("path"="/asterix/asterix_info.txt"),("input-format"="text-input-format"),("format"="delimited-text"),("delimiter"="."));
 
-write output to nc1:"rttest/hdfs_issue_245_hdfs.adm";
-
-for $x in dataset('TextDataset')
-return $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/hdfs/issue_245_hdfs/issue_245_hdfs.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/hdfs/issue_245_hdfs/issue_245_hdfs.3.query.aql
index 4a42a20..653ee6c 100644
--- a/asterix-app/src/test/resources/runtimets/queries/hdfs/issue_245_hdfs/issue_245_hdfs.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/hdfs/issue_245_hdfs/issue_245_hdfs.3.query.aql
@@ -5,19 +5,7 @@
 * Issue        : 245
 * Date         : 7th Jan 2013
 */
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type LineType as closed {
- line: string
-};
-
-create external dataset TextDataset(LineType)
-using hdfs
-(("hdfs"="hdfs://127.0.0.1:31888"),("path"="/asterix/asterix_info.txt"),("input-format"="text-input-format"),("format"="delimited-text"),("delimiter"="."));
-
-write output to nc1:"rttest/hdfs_issue_245_hdfs.adm";
-
 for $x in dataset('TextDataset')
 return $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/index-join/btree-primary-equi-join/btree-primary-equi-join.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/index-join/btree-primary-equi-join/btree-primary-equi-join.1.ddl.aql
index 0800784..aba1f9c 100644
--- a/asterix-app/src/test/resources/runtimets/queries/index-join/btree-primary-equi-join/btree-primary-equi-join.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/index-join/btree-primary-equi-join/btree-primary-equi-join.1.ddl.aql
@@ -7,7 +7,6 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type AddressType as open {
   number: int32, 
@@ -36,22 +35,3 @@
   total: float,
   items: [int32]
 }
-
-create dataset Customers(CustomerType) primary key cid;
-create dataset Orders(OrderType) primary key oid;
-
-load dataset Customers
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/customerData.json"),("format"="adm"));
-
-load dataset Orders
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/orderData.json"),("format"="adm"));
-
-write output to nc1:"rttest/index-join_btree-primary-equi-join.adm";
-
-for $c in dataset('Customers')
-for $o in dataset('Orders')
-where $c.cid /*+ indexnl */ = $o.cid
-order by $c.cid, $o.oid
-return {"cid":$c.cid, "oid": $o.oid}
diff --git a/asterix-app/src/test/resources/runtimets/queries/index-join/btree-primary-equi-join/btree-primary-equi-join.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/index-join/btree-primary-equi-join/btree-primary-equi-join.2.update.aql
index 0800784..c67e8a8 100644
--- a/asterix-app/src/test/resources/runtimets/queries/index-join/btree-primary-equi-join/btree-primary-equi-join.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/index-join/btree-primary-equi-join/btree-primary-equi-join.2.update.aql
@@ -5,38 +5,8 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  cashBack: int32,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
-create type OrderType as open {
-  oid: int32,
-  cid: int32,
-  orderstatus: string,
-  orderpriority: string,
-  clerk: string,
-  total: float,
-  items: [int32]
-}
-
 create dataset Customers(CustomerType) primary key cid;
 create dataset Orders(OrderType) primary key oid;
 
@@ -48,10 +18,3 @@
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/nontagged/orderData.json"),("format"="adm"));
 
-write output to nc1:"rttest/index-join_btree-primary-equi-join.adm";
-
-for $c in dataset('Customers')
-for $o in dataset('Orders')
-where $c.cid /*+ indexnl */ = $o.cid
-order by $c.cid, $o.oid
-return {"cid":$c.cid, "oid": $o.oid}
diff --git a/asterix-app/src/test/resources/runtimets/queries/index-join/btree-primary-equi-join/btree-primary-equi-join.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/index-join/btree-primary-equi-join/btree-primary-equi-join.3.query.aql
index 0800784..1f6d89e 100644
--- a/asterix-app/src/test/resources/runtimets/queries/index-join/btree-primary-equi-join/btree-primary-equi-join.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/index-join/btree-primary-equi-join/btree-primary-equi-join.3.query.aql
@@ -5,51 +5,8 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  cashBack: int32,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
-create type OrderType as open {
-  oid: int32,
-  cid: int32,
-  orderstatus: string,
-  orderpriority: string,
-  clerk: string,
-  total: float,
-  items: [int32]
-}
-
-create dataset Customers(CustomerType) primary key cid;
-create dataset Orders(OrderType) primary key oid;
-
-load dataset Customers
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/customerData.json"),("format"="adm"));
-
-load dataset Orders
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/orderData.json"),("format"="adm"));
-
-write output to nc1:"rttest/index-join_btree-primary-equi-join.adm";
-
 for $c in dataset('Customers')
 for $o in dataset('Orders')
 where $c.cid /*+ indexnl */ = $o.cid
diff --git a/asterix-app/src/test/resources/runtimets/queries/index-join/btree-secondary-equi-join/btree-secondary-equi-join.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/index-join/btree-secondary-equi-join/btree-secondary-equi-join.1.ddl.aql
index 1bf3490..627e37d 100644
--- a/asterix-app/src/test/resources/runtimets/queries/index-join/btree-secondary-equi-join/btree-secondary-equi-join.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/index-join/btree-secondary-equi-join/btree-secondary-equi-join.1.ddl.aql
@@ -7,7 +7,6 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type DBLPType as closed {
   id: int32, 
@@ -25,23 +24,3 @@
   misc: string
 }
 
-create dataset DBLP(DBLPType) primary key id;
-create dataset CSX(CSXType) primary key id;
-
-load dataset DBLP 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/pub-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":"));
-
-load dataset CSX
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/pub-small/csx-small-id.txt"),("format"="delimited-text"),("delimiter"=":"));
-
-create index title_index on DBLP(authors);
-
-write output to nc1:"rttest/index-join_btree-secondary-equi-join.adm";
-
-for $a in dataset('DBLP')
-for $b in dataset('CSX')
-where $a.authors /*+ indexnl */ = $b.authors
-order by $a.id, $b.id
-return {"aid": $a.id, "bid": $b.id, "authors": $a.authors}
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/index-join/btree-secondary-equi-join/btree-secondary-equi-join.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/index-join/btree-secondary-equi-join/btree-secondary-equi-join.2.update.aql
index 1bf3490..e794f51 100644
--- a/asterix-app/src/test/resources/runtimets/queries/index-join/btree-secondary-equi-join/btree-secondary-equi-join.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/index-join/btree-secondary-equi-join/btree-secondary-equi-join.2.update.aql
@@ -5,26 +5,8 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type DBLPType as closed {
-  id: int32, 
-  dblpid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
-create type CSXType as closed {
-  id: int32, 
-  csxid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
 create dataset DBLP(DBLPType) primary key id;
 create dataset CSX(CSXType) primary key id;
 
@@ -38,10 +20,3 @@
 
 create index title_index on DBLP(authors);
 
-write output to nc1:"rttest/index-join_btree-secondary-equi-join.adm";
-
-for $a in dataset('DBLP')
-for $b in dataset('CSX')
-where $a.authors /*+ indexnl */ = $b.authors
-order by $a.id, $b.id
-return {"aid": $a.id, "bid": $b.id, "authors": $a.authors}
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/index-join/btree-secondary-equi-join/btree-secondary-equi-join.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/index-join/btree-secondary-equi-join/btree-secondary-equi-join.3.query.aql
index 1bf3490..ed73df6 100644
--- a/asterix-app/src/test/resources/runtimets/queries/index-join/btree-secondary-equi-join/btree-secondary-equi-join.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/index-join/btree-secondary-equi-join/btree-secondary-equi-join.3.query.aql
@@ -5,43 +5,10 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type DBLPType as closed {
-  id: int32, 
-  dblpid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
-create type CSXType as closed {
-  id: int32, 
-  csxid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
-create dataset DBLP(DBLPType) primary key id;
-create dataset CSX(CSXType) primary key id;
-
-load dataset DBLP 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/pub-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":"));
-
-load dataset CSX
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/pub-small/csx-small-id.txt"),("format"="delimited-text"),("delimiter"=":"));
-
-create index title_index on DBLP(authors);
-
-write output to nc1:"rttest/index-join_btree-secondary-equi-join.adm";
-
 for $a in dataset('DBLP')
 for $b in dataset('CSX')
 where $a.authors /*+ indexnl */ = $b.authors
 order by $a.id, $b.id
-return {"aid": $a.id, "bid": $b.id, "authors": $a.authors}
\ No newline at end of file
+return {"aid": $a.id, "bid": $b.id, "authors": $a.authors}
diff --git a/asterix-app/src/test/resources/runtimets/queries/index-join/rtree-spatial-intersect-point/rtree-spatial-intersect-point.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/index-join/rtree-spatial-intersect-point/rtree-spatial-intersect-point.1.ddl.aql
index 58fbf73..809639a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/index-join/rtree-spatial-intersect-point/rtree-spatial-intersect-point.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/index-join/rtree-spatial-intersect-point/rtree-spatial-intersect-point.1.ddl.aql
@@ -7,7 +7,6 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type MyRecord as closed {
   id: int32,
@@ -21,23 +20,3 @@
   circle: circle
 }
 
-create dataset MyData1(MyRecord) primary key id;
-create dataset MyData2(MyRecord) primary key id;
-
-load dataset MyData1
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/spatial/spatialData.json"),("format"="adm")) pre-sorted;
-
-load dataset MyData2
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/spatial/spatialData.json"),("format"="adm")) pre-sorted;
-
-create index rtree_index on MyData1(point) type rtree;
-
-write output to nc1:"rttest/index-join_rtree-spatial-intersect-point.adm";
-
-for $a in dataset('MyData1')
-for $b in dataset('MyData2')
-where spatial-intersect($a.point, $b.point) and $a.id != $b.id
-order by $a.id, $b.id
-return {"aid": $a.id, "bid": $b.id, "apt": $a.point, "bp": $b.point}
diff --git a/asterix-app/src/test/resources/runtimets/queries/index-join/rtree-spatial-intersect-point/rtree-spatial-intersect-point.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/index-join/rtree-spatial-intersect-point/rtree-spatial-intersect-point.2.update.aql
index 58fbf73..b4ffbac 100644
--- a/asterix-app/src/test/resources/runtimets/queries/index-join/rtree-spatial-intersect-point/rtree-spatial-intersect-point.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/index-join/rtree-spatial-intersect-point/rtree-spatial-intersect-point.2.update.aql
@@ -5,22 +5,8 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type MyRecord as closed {
-  id: int32,
-  point: point,
-  kwds: string,
-  line1: line,
-  line2: line,
-  poly1: polygon,
-  poly2: polygon,
-  rec: rectangle,
-  circle: circle
-}
-
 create dataset MyData1(MyRecord) primary key id;
 create dataset MyData2(MyRecord) primary key id;
 
@@ -34,10 +20,3 @@
 
 create index rtree_index on MyData1(point) type rtree;
 
-write output to nc1:"rttest/index-join_rtree-spatial-intersect-point.adm";
-
-for $a in dataset('MyData1')
-for $b in dataset('MyData2')
-where spatial-intersect($a.point, $b.point) and $a.id != $b.id
-order by $a.id, $b.id
-return {"aid": $a.id, "bid": $b.id, "apt": $a.point, "bp": $b.point}
diff --git a/asterix-app/src/test/resources/runtimets/queries/index-join/rtree-spatial-intersect-point/rtree-spatial-intersect-point.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/index-join/rtree-spatial-intersect-point/rtree-spatial-intersect-point.3.query.aql
index 58fbf73..de3062e 100644
--- a/asterix-app/src/test/resources/runtimets/queries/index-join/rtree-spatial-intersect-point/rtree-spatial-intersect-point.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/index-join/rtree-spatial-intersect-point/rtree-spatial-intersect-point.3.query.aql
@@ -5,37 +5,8 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type MyRecord as closed {
-  id: int32,
-  point: point,
-  kwds: string,
-  line1: line,
-  line2: line,
-  poly1: polygon,
-  poly2: polygon,
-  rec: rectangle,
-  circle: circle
-}
-
-create dataset MyData1(MyRecord) primary key id;
-create dataset MyData2(MyRecord) primary key id;
-
-load dataset MyData1
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/spatial/spatialData.json"),("format"="adm")) pre-sorted;
-
-load dataset MyData2
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/spatial/spatialData.json"),("format"="adm")) pre-sorted;
-
-create index rtree_index on MyData1(point) type rtree;
-
-write output to nc1:"rttest/index-join_rtree-spatial-intersect-point.adm";
-
 for $a in dataset('MyData1')
 for $b in dataset('MyData2')
 where spatial-intersect($a.point, $b.point) and $a.id != $b.id
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-edit-distance-inline/ngram-edit-distance-inline.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-edit-distance-inline/ngram-edit-distance-inline.1.ddl.aql
index 75ebe7b..0f86c57 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-edit-distance-inline/ngram-edit-distance-inline.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-edit-distance-inline/ngram-edit-distance-inline.1.ddl.aql
@@ -7,7 +7,6 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type AddressType as open {
   number: int32, 
@@ -24,25 +23,3 @@
   children: [ { name: string, age: int32? } ]
 }
 
-create dataset Customers(CustomerType) primary key cid;
-
-create dataset Customers2(CustomerType) primary key cid;
-
-load dataset Customers 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k_olist/customer.adm"),("format"="adm"));
-
-load dataset Customers2
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k_olist/customer.adm"),("format"="adm"));
-
-create index ngram_index on Customers(name) type ngram(3);
-
-write output to nc1:"rttest/inverted-index-join_ngram-edit-distance-inline.adm";
-
-for $a in dataset('Customers')
-for $b in dataset('Customers2')
-let $ed := edit-distance($a.name, $b.name)
-where $ed <= 4 and $a.cid < $b.cid
-order by $ed, $a.cid, $b.cid
-return { "arec": $a, "brec": $b, "ed": $ed }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-edit-distance-inline/ngram-edit-distance-inline.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-edit-distance-inline/ngram-edit-distance-inline.2.update.aql
index 75ebe7b..0ee51c6 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-edit-distance-inline/ngram-edit-distance-inline.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-edit-distance-inline/ngram-edit-distance-inline.2.update.aql
@@ -5,25 +5,9 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
+
 use dataverse test;
 
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as open {
-  cid: int32, 
-  name: string,
-  age: int32?,
-  address: AddressType?,
-  interests: [string],
-  children: [ { name: string, age: int32? } ]
-}
-
 create dataset Customers(CustomerType) primary key cid;
 
 create dataset Customers2(CustomerType) primary key cid;
@@ -38,11 +22,3 @@
 
 create index ngram_index on Customers(name) type ngram(3);
 
-write output to nc1:"rttest/inverted-index-join_ngram-edit-distance-inline.adm";
-
-for $a in dataset('Customers')
-for $b in dataset('Customers2')
-let $ed := edit-distance($a.name, $b.name)
-where $ed <= 4 and $a.cid < $b.cid
-order by $ed, $a.cid, $b.cid
-return { "arec": $a, "brec": $b, "ed": $ed }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-edit-distance-inline/ngram-edit-distance-inline.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-edit-distance-inline/ngram-edit-distance-inline.3.query.aql
index 75ebe7b..fae1b49 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-edit-distance-inline/ngram-edit-distance-inline.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-edit-distance-inline/ngram-edit-distance-inline.3.query.aql
@@ -5,44 +5,11 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as open {
-  cid: int32, 
-  name: string,
-  age: int32?,
-  address: AddressType?,
-  interests: [string],
-  children: [ { name: string, age: int32? } ]
-}
-
-create dataset Customers(CustomerType) primary key cid;
-
-create dataset Customers2(CustomerType) primary key cid;
-
-load dataset Customers 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k_olist/customer.adm"),("format"="adm"));
-
-load dataset Customers2
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k_olist/customer.adm"),("format"="adm"));
-
-create index ngram_index on Customers(name) type ngram(3);
-
-write output to nc1:"rttest/inverted-index-join_ngram-edit-distance-inline.adm";
-
 for $a in dataset('Customers')
 for $b in dataset('Customers2')
 let $ed := edit-distance($a.name, $b.name)
 where $ed <= 4 and $a.cid < $b.cid
 order by $ed, $a.cid, $b.cid
-return { "arec": $a, "brec": $b, "ed": $ed }
\ No newline at end of file
+return { "arec": $a, "brec": $b, "ed": $ed }
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-edit-distance/ngram-edit-distance.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-edit-distance/ngram-edit-distance.1.ddl.aql
index 9c305ec..134fc27 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-edit-distance/ngram-edit-distance.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-edit-distance/ngram-edit-distance.1.ddl.aql
@@ -6,7 +6,6 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type AddressType as open {
   number: int32, 
@@ -23,24 +22,3 @@
   children: [ { name: string, age: int32? } ]
 }
 
-create dataset Customers(CustomerType) primary key cid;
-
-create dataset Customers2(CustomerType) primary key cid;
-
-load dataset Customers 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k_olist/customer.adm"),("format"="adm"));
-
-load dataset Customers2
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k_olist/customer.adm"),("format"="adm"));
-
-create index ngram_index on Customers(name) type ngram(3);
-
-write output to nc1:"rttest/inverted-index-join_ngram-edit-distance.adm";
-
-for $a in dataset('Customers')
-for $b in dataset('Customers2')
-where edit-distance($a.name, $b.name) <= 4 and $a.cid < $b.cid
-order by $a.cid, $b.cid
-return { "arec": $a, "brec": $b }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-edit-distance/ngram-edit-distance.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-edit-distance/ngram-edit-distance.2.update.aql
index 9c305ec..30b185e 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-edit-distance/ngram-edit-distance.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-edit-distance/ngram-edit-distance.2.update.aql
@@ -4,25 +4,8 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as open {
-  cid: int32, 
-  name: string,
-  age: int32?,
-  address: AddressType?,
-  interests: [string],
-  children: [ { name: string, age: int32? } ]
-}
-
 create dataset Customers(CustomerType) primary key cid;
 
 create dataset Customers2(CustomerType) primary key cid;
@@ -37,10 +20,3 @@
 
 create index ngram_index on Customers(name) type ngram(3);
 
-write output to nc1:"rttest/inverted-index-join_ngram-edit-distance.adm";
-
-for $a in dataset('Customers')
-for $b in dataset('Customers2')
-where edit-distance($a.name, $b.name) <= 4 and $a.cid < $b.cid
-order by $a.cid, $b.cid
-return { "arec": $a, "brec": $b }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-edit-distance/ngram-edit-distance.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-edit-distance/ngram-edit-distance.3.query.aql
index 9c305ec..af3f92f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-edit-distance/ngram-edit-distance.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-edit-distance/ngram-edit-distance.3.query.aql
@@ -4,43 +4,10 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as open {
-  cid: int32, 
-  name: string,
-  age: int32?,
-  address: AddressType?,
-  interests: [string],
-  children: [ { name: string, age: int32? } ]
-}
-
-create dataset Customers(CustomerType) primary key cid;
-
-create dataset Customers2(CustomerType) primary key cid;
-
-load dataset Customers 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k_olist/customer.adm"),("format"="adm"));
-
-load dataset Customers2
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k_olist/customer.adm"),("format"="adm"));
-
-create index ngram_index on Customers(name) type ngram(3);
-
-write output to nc1:"rttest/inverted-index-join_ngram-edit-distance.adm";
-
 for $a in dataset('Customers')
 for $b in dataset('Customers2')
 where edit-distance($a.name, $b.name) <= 4 and $a.cid < $b.cid
 order by $a.cid, $b.cid
-return { "arec": $a, "brec": $b }
\ No newline at end of file
+return { "arec": $a, "brec": $b }
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-jaccard-inline/ngram-jaccard-inline.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-jaccard-inline/ngram-jaccard-inline.1.ddl.aql
index 048aee8..0266cb3 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-jaccard-inline/ngram-jaccard-inline.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-jaccard-inline/ngram-jaccard-inline.1.ddl.aql
@@ -7,7 +7,6 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type DBLPType as closed {
   id: int32, 
@@ -25,25 +24,3 @@
   misc: string
 }
 
-create dataset DBLP(DBLPType) primary key id;
-
-create dataset CSX(CSXType) primary key id;
-
-load dataset DBLP 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
-
-load dataset CSX
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/pub-small/csx-small-id.txt"),("format"="delimited-text"),("delimiter"=":"));
-
-create index ngram_index on DBLP(title) type ngram(3);
-
-write output to nc1:"rttest/inverted-index-join_ngram-jaccard-inline.adm";
-
-for $a in dataset('DBLP')
-for $b in dataset('CSX')
-let $jacc := similarity-jaccard(gram-tokens($a.title, 3, false), gram-tokens($b.title, 3, false))
-where $jacc >= 0.5f and $a.id < $b.id
-order by $jacc, $a.id, $b.id
-return { "arec": $a, "brec": $b, "jacc": $jacc }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-jaccard-inline/ngram-jaccard-inline.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-jaccard-inline/ngram-jaccard-inline.2.update.aql
index 048aee8..3eaefa8 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-jaccard-inline/ngram-jaccard-inline.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-jaccard-inline/ngram-jaccard-inline.2.update.aql
@@ -5,26 +5,8 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type DBLPType as closed {
-  id: int32, 
-  dblpid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
-create type CSXType as closed {
-  id: int32, 
-  csxid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
 create dataset DBLP(DBLPType) primary key id;
 
 create dataset CSX(CSXType) primary key id;
@@ -39,11 +21,3 @@
 
 create index ngram_index on DBLP(title) type ngram(3);
 
-write output to nc1:"rttest/inverted-index-join_ngram-jaccard-inline.adm";
-
-for $a in dataset('DBLP')
-for $b in dataset('CSX')
-let $jacc := similarity-jaccard(gram-tokens($a.title, 3, false), gram-tokens($b.title, 3, false))
-where $jacc >= 0.5f and $a.id < $b.id
-order by $jacc, $a.id, $b.id
-return { "arec": $a, "brec": $b, "jacc": $jacc }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-jaccard-inline/ngram-jaccard-inline.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-jaccard-inline/ngram-jaccard-inline.3.query.aql
index 048aee8..e7fc13e 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-jaccard-inline/ngram-jaccard-inline.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-jaccard-inline/ngram-jaccard-inline.3.query.aql
@@ -5,45 +5,11 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type DBLPType as closed {
-  id: int32, 
-  dblpid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
-create type CSXType as closed {
-  id: int32, 
-  csxid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
-create dataset DBLP(DBLPType) primary key id;
-
-create dataset CSX(CSXType) primary key id;
-
-load dataset DBLP 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
-
-load dataset CSX
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/pub-small/csx-small-id.txt"),("format"="delimited-text"),("delimiter"=":"));
-
-create index ngram_index on DBLP(title) type ngram(3);
-
-write output to nc1:"rttest/inverted-index-join_ngram-jaccard-inline.adm";
-
 for $a in dataset('DBLP')
 for $b in dataset('CSX')
 let $jacc := similarity-jaccard(gram-tokens($a.title, 3, false), gram-tokens($b.title, 3, false))
 where $jacc >= 0.5f and $a.id < $b.id
 order by $jacc, $a.id, $b.id
-return { "arec": $a, "brec": $b, "jacc": $jacc }
\ No newline at end of file
+return { "arec": $a, "brec": $b, "jacc": $jacc }
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-jaccard/ngram-jaccard.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-jaccard/ngram-jaccard.1.ddl.aql
index 96c685d..7e2cc88 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-jaccard/ngram-jaccard.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-jaccard/ngram-jaccard.1.ddl.aql
@@ -6,7 +6,6 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type DBLPType as closed {
   id: int32, 
@@ -24,25 +23,3 @@
   misc: string
 }
 
-create dataset DBLP(DBLPType) primary key id;
-
-create dataset CSX(CSXType) primary key id;
-
-load dataset DBLP 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
-
-load dataset CSX
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/pub-small/csx-small-id.txt"),("format"="delimited-text"),("delimiter"=":"));
-
-create index ngram_index on DBLP(title) type ngram(3);
-
-write output to nc1:"rttest/inverted-index-join_ngram-jaccard.adm";
-
-for $a in dataset('DBLP')
-for $b in dataset('CSX')
-where similarity-jaccard(gram-tokens($a.title, 3, false), gram-tokens($b.title, 3, false)) >= 0.5f 
-      and $a.id < $b.id
-order by $a.id, $b.id
-return { "arec": $a, "brec": $b }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-jaccard/ngram-jaccard.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-jaccard/ngram-jaccard.2.update.aql
index 96c685d..619c93c 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-jaccard/ngram-jaccard.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-jaccard/ngram-jaccard.2.update.aql
@@ -4,26 +4,8 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type DBLPType as closed {
-  id: int32, 
-  dblpid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
-create type CSXType as closed {
-  id: int32, 
-  csxid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
 create dataset DBLP(DBLPType) primary key id;
 
 create dataset CSX(CSXType) primary key id;
@@ -38,11 +20,3 @@
 
 create index ngram_index on DBLP(title) type ngram(3);
 
-write output to nc1:"rttest/inverted-index-join_ngram-jaccard.adm";
-
-for $a in dataset('DBLP')
-for $b in dataset('CSX')
-where similarity-jaccard(gram-tokens($a.title, 3, false), gram-tokens($b.title, 3, false)) >= 0.5f 
-      and $a.id < $b.id
-order by $a.id, $b.id
-return { "arec": $a, "brec": $b }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-jaccard/ngram-jaccard.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-jaccard/ngram-jaccard.3.query.aql
index 96c685d..b237130 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-jaccard/ngram-jaccard.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ngram-jaccard/ngram-jaccard.3.query.aql
@@ -4,45 +4,11 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type DBLPType as closed {
-  id: int32, 
-  dblpid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
-create type CSXType as closed {
-  id: int32, 
-  csxid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
-create dataset DBLP(DBLPType) primary key id;
-
-create dataset CSX(CSXType) primary key id;
-
-load dataset DBLP 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
-
-load dataset CSX
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/pub-small/csx-small-id.txt"),("format"="delimited-text"),("delimiter"=":"));
-
-create index ngram_index on DBLP(title) type ngram(3);
-
-write output to nc1:"rttest/inverted-index-join_ngram-jaccard.adm";
-
 for $a in dataset('DBLP')
 for $b in dataset('CSX')
 where similarity-jaccard(gram-tokens($a.title, 3, false), gram-tokens($b.title, 3, false)) >= 0.5f 
       and $a.id < $b.id
 order by $a.id, $b.id
-return { "arec": $a, "brec": $b }
\ No newline at end of file
+return { "arec": $a, "brec": $b }
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-edit-distance-inline/olist-edit-distance-inline.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-edit-distance-inline/olist-edit-distance-inline.1.ddl.aql
index 41e1d9e..d685247 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-edit-distance-inline/olist-edit-distance-inline.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-edit-distance-inline/olist-edit-distance-inline.1.ddl.aql
@@ -7,7 +7,6 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type AddressType as open {
   number: int32, 
@@ -24,25 +23,3 @@
   children: [ { name: string, age: int32? } ]
 }
 
-create dataset Customers(CustomerType) primary key cid;
-
-create dataset Customers2(CustomerType) primary key cid;
-
-load dataset Customers 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k_olist/customer.adm"),("format"="adm"));
-
-load dataset Customers2
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k_olist/customer.adm"),("format"="adm"));
-
-create index interests_index on Customers(interests) type keyword;
-
-write output to nc1:"rttest/inverted-index-join_olist-edit-distance-inline.adm";
-
-for $a in dataset('Customers')
-for $b in dataset('Customers2')
-let $ed := edit-distance($a.interests, $b.interests)
-where len($a.interests) > 2 and len($b.interests) > 2 and $ed <= 1 and $a.cid < $b.cid
-order by $ed, $a.cid, $b.cid
-return { "arec": $a, "brec": $b, "ed": $ed }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-edit-distance-inline/olist-edit-distance-inline.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-edit-distance-inline/olist-edit-distance-inline.2.update.aql
index 41e1d9e..270d49a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-edit-distance-inline/olist-edit-distance-inline.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-edit-distance-inline/olist-edit-distance-inline.2.update.aql
@@ -5,25 +5,8 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as open {
-  cid: int32, 
-  name: string,
-  age: int32?,
-  address: AddressType?,
-  interests: [string],
-  children: [ { name: string, age: int32? } ]
-}
-
 create dataset Customers(CustomerType) primary key cid;
 
 create dataset Customers2(CustomerType) primary key cid;
@@ -38,11 +21,3 @@
 
 create index interests_index on Customers(interests) type keyword;
 
-write output to nc1:"rttest/inverted-index-join_olist-edit-distance-inline.adm";
-
-for $a in dataset('Customers')
-for $b in dataset('Customers2')
-let $ed := edit-distance($a.interests, $b.interests)
-where len($a.interests) > 2 and len($b.interests) > 2 and $ed <= 1 and $a.cid < $b.cid
-order by $ed, $a.cid, $b.cid
-return { "arec": $a, "brec": $b, "ed": $ed }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-edit-distance-inline/olist-edit-distance-inline.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-edit-distance-inline/olist-edit-distance-inline.3.query.aql
index 41e1d9e..d9a7177 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-edit-distance-inline/olist-edit-distance-inline.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-edit-distance-inline/olist-edit-distance-inline.3.query.aql
@@ -5,44 +5,11 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as open {
-  cid: int32, 
-  name: string,
-  age: int32?,
-  address: AddressType?,
-  interests: [string],
-  children: [ { name: string, age: int32? } ]
-}
-
-create dataset Customers(CustomerType) primary key cid;
-
-create dataset Customers2(CustomerType) primary key cid;
-
-load dataset Customers 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k_olist/customer.adm"),("format"="adm"));
-
-load dataset Customers2
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k_olist/customer.adm"),("format"="adm"));
-
-create index interests_index on Customers(interests) type keyword;
-
-write output to nc1:"rttest/inverted-index-join_olist-edit-distance-inline.adm";
-
 for $a in dataset('Customers')
 for $b in dataset('Customers2')
 let $ed := edit-distance($a.interests, $b.interests)
 where len($a.interests) > 2 and len($b.interests) > 2 and $ed <= 1 and $a.cid < $b.cid
 order by $ed, $a.cid, $b.cid
-return { "arec": $a, "brec": $b, "ed": $ed }
\ No newline at end of file
+return { "arec": $a, "brec": $b, "ed": $ed }
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-edit-distance/olist-edit-distance.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-edit-distance/olist-edit-distance.1.ddl.aql
index 64e16ba..18d3edb 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-edit-distance/olist-edit-distance.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-edit-distance/olist-edit-distance.1.ddl.aql
@@ -6,7 +6,6 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type AddressType as open {
   number: int32, 
@@ -23,24 +22,3 @@
   children: [ { name: string, age: int32? } ]
 }
 
-create dataset Customers(CustomerType) primary key cid;
-
-create dataset Customers2(CustomerType) primary key cid;
-
-load dataset Customers 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k_olist/customer.adm"),("format"="adm"));
-
-load dataset Customers2
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k_olist/customer.adm"),("format"="adm"));
-
-create index interests_index on Customers(interests) type keyword;
-
-write output to nc1:"rttest/inverted-index-join_olist-edit-distance.adm";
-
-for $a in dataset('Customers')
-for $b in dataset('Customers2')
-where len($a.interests) > 2 and len($b.interests) > 2 and edit-distance($a.interests, $b.interests) <= 1 and $a.cid < $b.cid
-order by $a.cid, $b.cid
-return { "arec": $a, "brec": $b }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-edit-distance/olist-edit-distance.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-edit-distance/olist-edit-distance.2.update.aql
index 64e16ba..d45e548 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-edit-distance/olist-edit-distance.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-edit-distance/olist-edit-distance.2.update.aql
@@ -4,25 +4,8 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as open {
-  cid: int32, 
-  name: string,
-  age: int32?,
-  address: AddressType?,
-  interests: [string],
-  children: [ { name: string, age: int32? } ]
-}
-
 create dataset Customers(CustomerType) primary key cid;
 
 create dataset Customers2(CustomerType) primary key cid;
@@ -37,10 +20,3 @@
 
 create index interests_index on Customers(interests) type keyword;
 
-write output to nc1:"rttest/inverted-index-join_olist-edit-distance.adm";
-
-for $a in dataset('Customers')
-for $b in dataset('Customers2')
-where len($a.interests) > 2 and len($b.interests) > 2 and edit-distance($a.interests, $b.interests) <= 1 and $a.cid < $b.cid
-order by $a.cid, $b.cid
-return { "arec": $a, "brec": $b }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-edit-distance/olist-edit-distance.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-edit-distance/olist-edit-distance.3.query.aql
index 64e16ba..de75bfd 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-edit-distance/olist-edit-distance.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-edit-distance/olist-edit-distance.3.query.aql
@@ -4,43 +4,10 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as open {
-  cid: int32, 
-  name: string,
-  age: int32?,
-  address: AddressType?,
-  interests: [string],
-  children: [ { name: string, age: int32? } ]
-}
-
-create dataset Customers(CustomerType) primary key cid;
-
-create dataset Customers2(CustomerType) primary key cid;
-
-load dataset Customers 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k_olist/customer.adm"),("format"="adm"));
-
-load dataset Customers2
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k_olist/customer.adm"),("format"="adm"));
-
-create index interests_index on Customers(interests) type keyword;
-
-write output to nc1:"rttest/inverted-index-join_olist-edit-distance.adm";
-
 for $a in dataset('Customers')
 for $b in dataset('Customers2')
 where len($a.interests) > 2 and len($b.interests) > 2 and edit-distance($a.interests, $b.interests) <= 1 and $a.cid < $b.cid
 order by $a.cid, $b.cid
-return { "arec": $a, "brec": $b }
\ No newline at end of file
+return { "arec": $a, "brec": $b }
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-jaccard-inline/olist-jaccard-inline.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-jaccard-inline/olist-jaccard-inline.1.ddl.aql
index ef2730b..717391c 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-jaccard-inline/olist-jaccard-inline.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-jaccard-inline/olist-jaccard-inline.1.ddl.aql
@@ -7,7 +7,6 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type AddressType as closed {
   number: int32, 
@@ -24,25 +23,3 @@
   children: [ { name: string, age: int32? } ]
 }
 
-create dataset Customers(CustomerType) primary key cid;
-  
-create dataset Customers2(CustomerType) primary key cid;
-
-load dataset Customers 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k_olist/customer.adm"),("format"="adm"));
-
-load dataset Customers2
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k_olist/customer.adm"),("format"="adm"));
-
-create index interests_index on Customers(interests) type keyword;
-
-write output to nc1:"rttest/inverted-index-join_olist-jaccard-inline.adm";
-
-for $a in dataset('Customers')
-for $b in dataset('Customers2')
-let $jacc := /*+ indexnl */similarity-jaccard($a.interests, $b.interests)
-where $jacc >= 0.9f  and $a.cid < $b.cid and len($a.interests) > 1 and len($b.interests) > 1
-order by $jacc, $a.cid, $b.cid
-return { "a": $a, "b": $b, "jacc": $jacc }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-jaccard-inline/olist-jaccard-inline.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-jaccard-inline/olist-jaccard-inline.2.update.aql
index ef2730b..a6ab8ab 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-jaccard-inline/olist-jaccard-inline.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-jaccard-inline/olist-jaccard-inline.2.update.aql
@@ -5,25 +5,8 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type AddressType as closed {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  age: int32?,
-  address: AddressType?,
-  interests: [string],
-  children: [ { name: string, age: int32? } ]
-}
-
 create dataset Customers(CustomerType) primary key cid;
   
 create dataset Customers2(CustomerType) primary key cid;
@@ -38,11 +21,3 @@
 
 create index interests_index on Customers(interests) type keyword;
 
-write output to nc1:"rttest/inverted-index-join_olist-jaccard-inline.adm";
-
-for $a in dataset('Customers')
-for $b in dataset('Customers2')
-let $jacc := /*+ indexnl */similarity-jaccard($a.interests, $b.interests)
-where $jacc >= 0.9f  and $a.cid < $b.cid and len($a.interests) > 1 and len($b.interests) > 1
-order by $jacc, $a.cid, $b.cid
-return { "a": $a, "b": $b, "jacc": $jacc }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-jaccard-inline/olist-jaccard-inline.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-jaccard-inline/olist-jaccard-inline.3.query.aql
index ef2730b..851c116 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-jaccard-inline/olist-jaccard-inline.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-jaccard-inline/olist-jaccard-inline.3.query.aql
@@ -5,44 +5,11 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type AddressType as closed {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  age: int32?,
-  address: AddressType?,
-  interests: [string],
-  children: [ { name: string, age: int32? } ]
-}
-
-create dataset Customers(CustomerType) primary key cid;
-  
-create dataset Customers2(CustomerType) primary key cid;
-
-load dataset Customers 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k_olist/customer.adm"),("format"="adm"));
-
-load dataset Customers2
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k_olist/customer.adm"),("format"="adm"));
-
-create index interests_index on Customers(interests) type keyword;
-
-write output to nc1:"rttest/inverted-index-join_olist-jaccard-inline.adm";
-
 for $a in dataset('Customers')
 for $b in dataset('Customers2')
 let $jacc := /*+ indexnl */similarity-jaccard($a.interests, $b.interests)
 where $jacc >= 0.9f  and $a.cid < $b.cid and len($a.interests) > 1 and len($b.interests) > 1
 order by $jacc, $a.cid, $b.cid
-return { "a": $a, "b": $b, "jacc": $jacc }
\ No newline at end of file
+return { "a": $a, "b": $b, "jacc": $jacc }
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-jaccard/olist-jaccard.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-jaccard/olist-jaccard.1.ddl.aql
index d8af52c..bdcf057 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-jaccard/olist-jaccard.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-jaccard/olist-jaccard.1.ddl.aql
@@ -6,7 +6,6 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type AddressType as closed {
   number: int32, 
@@ -23,25 +22,3 @@
   children: [ { name: string, age: int32? } ]
 }
 
-create dataset Customers(CustomerType) primary key cid;
-  
-create dataset Customers2(CustomerType) primary key cid;
-
-load dataset Customers 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k_olist/customer.adm"),("format"="adm"));
-
-load dataset Customers2
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k_olist/customer.adm"),("format"="adm"));
-
-create index interests_index on Customers(interests) type keyword;
-
-write output to nc1:"rttest/inverted-index-join_olist-jaccard.adm";
-
-for $a in dataset('Customers')
-for $b in dataset('Customers2')
-where /*+ indexnl */ similarity-jaccard($a.interests, $b.interests) >= 0.9f 
-      and $a.cid < $b.cid and len($a.interests) > 1 and len($b.interests) > 1
-order by $a.cid, $b.cid
-return { "a": $a, "b": $b }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-jaccard/olist-jaccard.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-jaccard/olist-jaccard.2.update.aql
index d8af52c..a75fa08 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-jaccard/olist-jaccard.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-jaccard/olist-jaccard.2.update.aql
@@ -4,25 +4,8 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type AddressType as closed {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  age: int32?,
-  address: AddressType?,
-  interests: [string],
-  children: [ { name: string, age: int32? } ]
-}
-
 create dataset Customers(CustomerType) primary key cid;
   
 create dataset Customers2(CustomerType) primary key cid;
@@ -37,11 +20,3 @@
 
 create index interests_index on Customers(interests) type keyword;
 
-write output to nc1:"rttest/inverted-index-join_olist-jaccard.adm";
-
-for $a in dataset('Customers')
-for $b in dataset('Customers2')
-where /*+ indexnl */ similarity-jaccard($a.interests, $b.interests) >= 0.9f 
-      and $a.cid < $b.cid and len($a.interests) > 1 and len($b.interests) > 1
-order by $a.cid, $b.cid
-return { "a": $a, "b": $b }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-jaccard/olist-jaccard.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-jaccard/olist-jaccard.3.query.aql
index d8af52c..61efa58 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-jaccard/olist-jaccard.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/olist-jaccard/olist-jaccard.3.query.aql
@@ -4,44 +4,11 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type AddressType as closed {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  age: int32?,
-  address: AddressType?,
-  interests: [string],
-  children: [ { name: string, age: int32? } ]
-}
-
-create dataset Customers(CustomerType) primary key cid;
-  
-create dataset Customers2(CustomerType) primary key cid;
-
-load dataset Customers 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k_olist/customer.adm"),("format"="adm"));
-
-load dataset Customers2
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k_olist/customer.adm"),("format"="adm"));
-
-create index interests_index on Customers(interests) type keyword;
-
-write output to nc1:"rttest/inverted-index-join_olist-jaccard.adm";
-
 for $a in dataset('Customers')
 for $b in dataset('Customers2')
 where /*+ indexnl */ similarity-jaccard($a.interests, $b.interests) >= 0.9f 
       and $a.cid < $b.cid and len($a.interests) > 1 and len($b.interests) > 1
 order by $a.cid, $b.cid
-return { "a": $a, "b": $b }
\ No newline at end of file
+return { "a": $a, "b": $b }
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ulist-jaccard-inline/ulist-jaccard-inline.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ulist-jaccard-inline/ulist-jaccard-inline.1.ddl.aql
index c6b2252..1e3d0cc 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ulist-jaccard-inline/ulist-jaccard-inline.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ulist-jaccard-inline/ulist-jaccard-inline.1.ddl.aql
@@ -7,7 +7,6 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type AddressType as closed {
   number: int32, 
@@ -24,25 +23,3 @@
   children: [ { name: string, age: int32? } ]
 }
 
-create dataset Customers(CustomerType) primary key cid;
-  
-create dataset Customers2(CustomerType) primary key cid;
-
-load dataset Customers 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k/customer.adm"),("format"="adm"));
-
-load dataset Customers2
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k/customer.adm"),("format"="adm"));
-
-create index interests_index on Customers(interests) type keyword;
-
-write output to nc1:"rttest/inverted-index-join_ulist-jaccard-inline.adm";
-
-for $a in dataset('Customers')
-for $b in dataset('Customers2')
-let $jacc := /*+ indexnl */ similarity-jaccard($a.interests, $b.interests)
-where $jacc >= 0.9f and $a.cid < $b.cid and len($a.interests) > 1 and len($b.interests) > 1
-order by $jacc, $a.cid, $b.cid
-return { "a": $a, "b": $b, "jacc": $jacc }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ulist-jaccard-inline/ulist-jaccard-inline.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ulist-jaccard-inline/ulist-jaccard-inline.2.update.aql
index c6b2252..9fa3ada 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ulist-jaccard-inline/ulist-jaccard-inline.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ulist-jaccard-inline/ulist-jaccard-inline.2.update.aql
@@ -5,25 +5,8 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type AddressType as closed {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  age: int32?,
-  address: AddressType?,
-  interests: {{string}},
-  children: [ { name: string, age: int32? } ]
-}
-
 create dataset Customers(CustomerType) primary key cid;
   
 create dataset Customers2(CustomerType) primary key cid;
@@ -38,11 +21,3 @@
 
 create index interests_index on Customers(interests) type keyword;
 
-write output to nc1:"rttest/inverted-index-join_ulist-jaccard-inline.adm";
-
-for $a in dataset('Customers')
-for $b in dataset('Customers2')
-let $jacc := /*+ indexnl */ similarity-jaccard($a.interests, $b.interests)
-where $jacc >= 0.9f and $a.cid < $b.cid and len($a.interests) > 1 and len($b.interests) > 1
-order by $jacc, $a.cid, $b.cid
-return { "a": $a, "b": $b, "jacc": $jacc }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ulist-jaccard-inline/ulist-jaccard-inline.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ulist-jaccard-inline/ulist-jaccard-inline.3.query.aql
index c6b2252..3b2b968 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ulist-jaccard-inline/ulist-jaccard-inline.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ulist-jaccard-inline/ulist-jaccard-inline.3.query.aql
@@ -5,44 +5,11 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type AddressType as closed {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  age: int32?,
-  address: AddressType?,
-  interests: {{string}},
-  children: [ { name: string, age: int32? } ]
-}
-
-create dataset Customers(CustomerType) primary key cid;
-  
-create dataset Customers2(CustomerType) primary key cid;
-
-load dataset Customers 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k/customer.adm"),("format"="adm"));
-
-load dataset Customers2
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k/customer.adm"),("format"="adm"));
-
-create index interests_index on Customers(interests) type keyword;
-
-write output to nc1:"rttest/inverted-index-join_ulist-jaccard-inline.adm";
-
 for $a in dataset('Customers')
 for $b in dataset('Customers2')
 let $jacc := /*+ indexnl */ similarity-jaccard($a.interests, $b.interests)
 where $jacc >= 0.9f and $a.cid < $b.cid and len($a.interests) > 1 and len($b.interests) > 1
 order by $jacc, $a.cid, $b.cid
-return { "a": $a, "b": $b, "jacc": $jacc }
\ No newline at end of file
+return { "a": $a, "b": $b, "jacc": $jacc }
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ulist-jaccard/ulist-jaccard.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ulist-jaccard/ulist-jaccard.1.ddl.aql
index efdb925..3e33f51 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ulist-jaccard/ulist-jaccard.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ulist-jaccard/ulist-jaccard.1.ddl.aql
@@ -6,7 +6,6 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type AddressType as closed {
   number: int32, 
@@ -23,25 +22,3 @@
   children: [ { name: string, age: int32? } ]
 }
 
-create dataset Customers(CustomerType) primary key cid;
-  
-create dataset Customers2(CustomerType) primary key cid;
-
-load dataset Customers 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k/customer.adm"),("format"="adm"));
-
-load dataset Customers2
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k/customer.adm"),("format"="adm"));
-
-create index interests_index on Customers(interests) type keyword;
-
-write output to nc1:"rttest/inverted-index-join_ulist-jaccard.adm";
-
-for $a in dataset('Customers')
-for $b in dataset('Customers2')
-where /*+ indexnl */ similarity-jaccard($a.interests, $b.interests) >= 0.9f 
-      and $a.cid < $b.cid and len($a.interests) > 1 and len($b.interests) > 1
-order by $a.cid, $b.cid
-return { "a": $a, "b": $b }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ulist-jaccard/ulist-jaccard.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ulist-jaccard/ulist-jaccard.2.update.aql
index efdb925..a248610 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ulist-jaccard/ulist-jaccard.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ulist-jaccard/ulist-jaccard.2.update.aql
@@ -4,24 +4,8 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type AddressType as closed {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  age: int32?,
-  address: AddressType?,
-  interests: {{string}},
-  children: [ { name: string, age: int32? } ]
-}
 
 create dataset Customers(CustomerType) primary key cid;
   
@@ -37,11 +21,3 @@
 
 create index interests_index on Customers(interests) type keyword;
 
-write output to nc1:"rttest/inverted-index-join_ulist-jaccard.adm";
-
-for $a in dataset('Customers')
-for $b in dataset('Customers2')
-where /*+ indexnl */ similarity-jaccard($a.interests, $b.interests) >= 0.9f 
-      and $a.cid < $b.cid and len($a.interests) > 1 and len($b.interests) > 1
-order by $a.cid, $b.cid
-return { "a": $a, "b": $b }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ulist-jaccard/ulist-jaccard.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ulist-jaccard/ulist-jaccard.3.query.aql
index efdb925..7570905 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ulist-jaccard/ulist-jaccard.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/ulist-jaccard/ulist-jaccard.3.query.aql
@@ -4,44 +4,11 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type AddressType as closed {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as closed {
-  cid: int32, 
-  name: string,
-  age: int32?,
-  address: AddressType?,
-  interests: {{string}},
-  children: [ { name: string, age: int32? } ]
-}
-
-create dataset Customers(CustomerType) primary key cid;
-  
-create dataset Customers2(CustomerType) primary key cid;
-
-load dataset Customers 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k/customer.adm"),("format"="adm"));
-
-load dataset Customers2
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/semistructured/co1k/customer.adm"),("format"="adm"));
-
-create index interests_index on Customers(interests) type keyword;
-
-write output to nc1:"rttest/inverted-index-join_ulist-jaccard.adm";
-
 for $a in dataset('Customers')
 for $b in dataset('Customers2')
 where /*+ indexnl */ similarity-jaccard($a.interests, $b.interests) >= 0.9f 
       and $a.cid < $b.cid and len($a.interests) > 1 and len($b.interests) > 1
 order by $a.cid, $b.cid
-return { "a": $a, "b": $b }
\ No newline at end of file
+return { "a": $a, "b": $b }
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/word-jaccard-inline/word-jaccard-inline.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/word-jaccard-inline/word-jaccard-inline.1.ddl.aql
index b50a92b..56ac381 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/word-jaccard-inline/word-jaccard-inline.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/word-jaccard-inline/word-jaccard-inline.1.ddl.aql
@@ -7,7 +7,6 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type DBLPType as closed {
   id: int32, 
@@ -25,25 +24,3 @@
   misc: string
 }
 
-create dataset DBLP(DBLPType) primary key id;
-
-create dataset CSX(CSXType) primary key id;
-
-load dataset DBLP 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
-
-load dataset CSX
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/pub-small/csx-small-id.txt"),("format"="delimited-text"),("delimiter"=":"));
-
-create index keyword_index on DBLP(title) type keyword;
-
-write output to nc1:"rttest/inverted-index-join_word-jaccard-inline.adm";
-
-for $a in dataset('DBLP')
-for $b in dataset('CSX')
-let $jacc := similarity-jaccard(word-tokens($a.title), word-tokens($b.title))
-where $jacc >= 0.5f and $a.id < $b.id
-order by $jacc, $a.id, $b.id
-return { "arec": $a, "brec": $b, "jacc": $jacc }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/word-jaccard-inline/word-jaccard-inline.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/word-jaccard-inline/word-jaccard-inline.2.update.aql
index b50a92b..8512979 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/word-jaccard-inline/word-jaccard-inline.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/word-jaccard-inline/word-jaccard-inline.2.update.aql
@@ -5,26 +5,8 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type DBLPType as closed {
-  id: int32, 
-  dblpid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
-create type CSXType as closed {
-  id: int32, 
-  csxid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
 create dataset DBLP(DBLPType) primary key id;
 
 create dataset CSX(CSXType) primary key id;
@@ -39,11 +21,3 @@
 
 create index keyword_index on DBLP(title) type keyword;
 
-write output to nc1:"rttest/inverted-index-join_word-jaccard-inline.adm";
-
-for $a in dataset('DBLP')
-for $b in dataset('CSX')
-let $jacc := similarity-jaccard(word-tokens($a.title), word-tokens($b.title))
-where $jacc >= 0.5f and $a.id < $b.id
-order by $jacc, $a.id, $b.id
-return { "arec": $a, "brec": $b, "jacc": $jacc }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/word-jaccard-inline/word-jaccard-inline.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/word-jaccard-inline/word-jaccard-inline.3.query.aql
index b50a92b..f8ada76 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/word-jaccard-inline/word-jaccard-inline.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/word-jaccard-inline/word-jaccard-inline.3.query.aql
@@ -5,45 +5,11 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type DBLPType as closed {
-  id: int32, 
-  dblpid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
-create type CSXType as closed {
-  id: int32, 
-  csxid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
-create dataset DBLP(DBLPType) primary key id;
-
-create dataset CSX(CSXType) primary key id;
-
-load dataset DBLP 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
-
-load dataset CSX
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/pub-small/csx-small-id.txt"),("format"="delimited-text"),("delimiter"=":"));
-
-create index keyword_index on DBLP(title) type keyword;
-
-write output to nc1:"rttest/inverted-index-join_word-jaccard-inline.adm";
-
 for $a in dataset('DBLP')
 for $b in dataset('CSX')
 let $jacc := similarity-jaccard(word-tokens($a.title), word-tokens($b.title))
 where $jacc >= 0.5f and $a.id < $b.id
 order by $jacc, $a.id, $b.id
-return { "arec": $a, "brec": $b, "jacc": $jacc }
\ No newline at end of file
+return { "arec": $a, "brec": $b, "jacc": $jacc }
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/word-jaccard/word-jaccard.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/word-jaccard/word-jaccard.1.ddl.aql
index 6063e0b..b8736a7 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/word-jaccard/word-jaccard.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/word-jaccard/word-jaccard.1.ddl.aql
@@ -6,7 +6,6 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type DBLPType as closed {
   id: int32, 
@@ -24,25 +23,3 @@
   misc: string
 }
 
-create dataset DBLP(DBLPType) primary key id;
-
-create dataset CSX(CSXType) primary key id;
-
-load dataset DBLP 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
-
-load dataset CSX
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/pub-small/csx-small-id.txt"),("format"="delimited-text"),("delimiter"=":"));
-
-create index keyword_index on DBLP(title) type keyword;
-
-write output to nc1:"rttest/inverted-index-join_word-jaccard.adm";
-
-for $a in dataset('DBLP')
-for $b in dataset('CSX')
-where similarity-jaccard(word-tokens($a.title), word-tokens($b.title)) >= 0.5f 
-      and $a.id < $b.id
-order by $a.id, $b.id
-return { "arec": $a, "brec": $b }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/word-jaccard/word-jaccard.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/word-jaccard/word-jaccard.2.update.aql
index 6063e0b..3b7a84a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/word-jaccard/word-jaccard.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/word-jaccard/word-jaccard.2.update.aql
@@ -4,26 +4,8 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type DBLPType as closed {
-  id: int32, 
-  dblpid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
-create type CSXType as closed {
-  id: int32, 
-  csxid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
 create dataset DBLP(DBLPType) primary key id;
 
 create dataset CSX(CSXType) primary key id;
@@ -38,11 +20,3 @@
 
 create index keyword_index on DBLP(title) type keyword;
 
-write output to nc1:"rttest/inverted-index-join_word-jaccard.adm";
-
-for $a in dataset('DBLP')
-for $b in dataset('CSX')
-where similarity-jaccard(word-tokens($a.title), word-tokens($b.title)) >= 0.5f 
-      and $a.id < $b.id
-order by $a.id, $b.id
-return { "arec": $a, "brec": $b }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/word-jaccard/word-jaccard.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/word-jaccard/word-jaccard.3.query.aql
index 6063e0b..29a98c0 100644
--- a/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/word-jaccard/word-jaccard.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/inverted-index-join/word-jaccard/word-jaccard.3.query.aql
@@ -4,45 +4,11 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type DBLPType as closed {
-  id: int32, 
-  dblpid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
-create type CSXType as closed {
-  id: int32, 
-  csxid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
-create dataset DBLP(DBLPType) primary key id;
-
-create dataset CSX(CSXType) primary key id;
-
-load dataset DBLP 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
-
-load dataset CSX
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/pub-small/csx-small-id.txt"),("format"="delimited-text"),("delimiter"=":"));
-
-create index keyword_index on DBLP(title) type keyword;
-
-write output to nc1:"rttest/inverted-index-join_word-jaccard.adm";
-
 for $a in dataset('DBLP')
 for $b in dataset('CSX')
 where similarity-jaccard(word-tokens($a.title), word-tokens($b.title)) >= 0.5f 
       and $a.id < $b.id
 order by $a.id, $b.id
-return { "arec": $a, "brec": $b }
\ No newline at end of file
+return { "arec": $a, "brec": $b }
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/any-collection-member_01/any-collection-member_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/list/any-collection-member_01/any-collection-member_01.1.ddl.aql
new file mode 100644
index 0000000..754ea81
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/list/any-collection-member_01/any-collection-member_01.1.ddl.aql
@@ -0,0 +1,3 @@
+drop dataverse test if exists;
+create dataverse test;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/any-collection-member_01/any-collection-member_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/list/any-collection-member_01/any-collection-member_01.2.update.aql
new file mode 100644
index 0000000..d148bc8
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/list/any-collection-member_01/any-collection-member_01.2.update.aql
@@ -0,0 +1,2 @@
+
+ 
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/any-collection-member_01/any-collection-member_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/list/any-collection-member_01/any-collection-member_01.3.query.aql
new file mode 100644
index 0000000..8912343
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/list/any-collection-member_01/any-collection-member_01.3.query.aql
@@ -0,0 +1,5 @@
+use dataverse test;
+
+let $x := {{1,1,1}}
+return $x[?]
+ 
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/en_01/en_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/list/en_01/en_01.1.ddl.aql
deleted file mode 100644
index bd9fb11..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/list/en_01/en_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/list_len_01.adm";
-
-for $l in [1]
-return [
-  len([]), len([1]), len([1, 2]), len([1, 2, 3]), 
-  len({{}}), len({{1}}), len({{1, 2}}), len({{1, 2, 3}})]
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/en_01/en_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/list/en_01/en_01.2.update.aql
deleted file mode 100644
index bd9fb11..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/list/en_01/en_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/list_len_01.adm";
-
-for $l in [1]
-return [
-  len([]), len([1]), len([1, 2]), len([1, 2, 3]), 
-  len({{}}), len({{1}}), len({{1, 2}}), len({{1, 2, 3}})]
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/en_null_01/en_null_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/list/en_null_01/en_null_01.1.ddl.aql
deleted file mode 100644
index 3966c12..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/list/en_null_01/en_null_01.1.ddl.aql
+++ /dev/null
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/list_len_null_01.adm";
-
-let $n := null
-return {"len1": len([]), "len2": $n}
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/en_null_01/en_null_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/list/en_null_01/en_null_01.2.update.aql
deleted file mode 100644
index 3966c12..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/list/en_null_01/en_null_01.2.update.aql
+++ /dev/null
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/list_len_null_01.adm";
-
-let $n := null
-return {"len1": len([]), "len2": $n}
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/en_null_01/en_null_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/list/en_null_01/en_null_01.3.query.aql
deleted file mode 100644
index 3966c12..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/list/en_null_01/en_null_01.3.query.aql
+++ /dev/null
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/list_len_null_01.adm";
-
-let $n := null
-return {"len1": len([]), "len2": $n}
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/get-item_01/get-item_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/list/get-item_01/get-item_01.1.ddl.aql
index 5bdd362..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/list/get-item_01/get-item_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/list/get-item_01/get-item_01.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/list_get-item_01.adm";
-
-let $x :=  [1, 2, 3, 4]
-return $x[2]
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/get-item_01/get-item_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/list/get-item_01/get-item_01.2.update.aql
index 5bdd362..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/list/get-item_01/get-item_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/list/get-item_01/get-item_01.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/list_get-item_01.adm";
-
-let $x :=  [1, 2, 3, 4]
-return $x[2]
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/get-item_01/get-item_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/list/get-item_01/get-item_01.3.query.aql
index 5bdd362..696e52b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/list/get-item_01/get-item_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/list/get-item_01/get-item_01.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/list_get-item_01.adm";
-
 let $x :=  [1, 2, 3, 4]
 return $x[2]
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/istify_01/istify_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/list/istify_01/istify_01.1.ddl.aql
deleted file mode 100644
index 3f08bcb..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/list/istify_01/istify_01.1.ddl.aql
+++ /dev/null
@@ -1,9 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/list_listify_01.adm";
-
-let $token_list := 
-  for $token in [1, 2, 3] return $token
-return $token_list
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/istify_01/istify_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/list/istify_01/istify_01.2.update.aql
deleted file mode 100644
index 3f08bcb..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/list/istify_01/istify_01.2.update.aql
+++ /dev/null
@@ -1,9 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/list_listify_01.adm";
-
-let $token_list := 
-  for $token in [1, 2, 3] return $token
-return $token_list
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/istify_01/istify_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/list/istify_01/istify_01.3.query.aql
deleted file mode 100644
index 3f08bcb..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/list/istify_01/istify_01.3.query.aql
+++ /dev/null
@@ -1,9 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/list_listify_01.adm";
-
-let $token_list := 
-  for $token in [1, 2, 3] return $token
-return $token_list
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/istify_02/istify_02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/list/istify_02/istify_02.1.ddl.aql
deleted file mode 100644
index 1dae103..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/list/istify_02/istify_02.1.ddl.aql
+++ /dev/null
@@ -1,9 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/list_listify_02.adm";
-
-let $token_list := 
-  for $token in ["foo", "bar"] return $token
-return $token_list
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/istify_02/istify_02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/list/istify_02/istify_02.2.update.aql
deleted file mode 100644
index 1dae103..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/list/istify_02/istify_02.2.update.aql
+++ /dev/null
@@ -1,9 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/list_listify_02.adm";
-
-let $token_list := 
-  for $token in ["foo", "bar"] return $token
-return $token_list
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/istify_02/istify_02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/list/istify_02/istify_02.3.query.aql
deleted file mode 100644
index 1dae103..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/list/istify_02/istify_02.3.query.aql
+++ /dev/null
@@ -1,9 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/list_listify_02.adm";
-
-let $token_list := 
-  for $token in ["foo", "bar"] return $token
-return $token_list
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/istify_03/istify_03.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/list/istify_03/istify_03.1.ddl.aql
deleted file mode 100644
index e034069..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/list/istify_03/istify_03.1.ddl.aql
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * Description      :  Test that a listify on a nullable type creates a homogeneous list of type ANY.
- *                     Guards against regression to issue 186.
- * Expected Result  :  Success
- */
-
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/list_listify_03.adm";
-
-// The for prohibits the subplan from being eliminated.
-for $x in [1, 2]
-let $y := (for $i in [[1,2,3],[10,20,30],[-2,-5,0]] return min($i))
-return min($y)
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/istify_03/istify_03.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/list/istify_03/istify_03.2.update.aql
deleted file mode 100644
index e034069..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/list/istify_03/istify_03.2.update.aql
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * Description      :  Test that a listify on a nullable type creates a homogeneous list of type ANY.
- *                     Guards against regression to issue 186.
- * Expected Result  :  Success
- */
-
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/list_listify_03.adm";
-
-// The for prohibits the subplan from being eliminated.
-for $x in [1, 2]
-let $y := (for $i in [[1,2,3],[10,20,30],[-2,-5,0]] return min($i))
-return min($y)
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/len_01/len_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/list/len_01/len_01.1.ddl.aql
new file mode 100644
index 0000000..754ea81
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/list/len_01/len_01.1.ddl.aql
@@ -0,0 +1,3 @@
+drop dataverse test if exists;
+create dataverse test;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/len_01/len_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/list/len_01/len_01.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/list/len_01/len_01.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/en_01/en_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/list/len_01/len_01.3.query.aql
similarity index 60%
rename from asterix-app/src/test/resources/runtimets/queries/list/en_01/en_01.3.query.aql
rename to asterix-app/src/test/resources/runtimets/queries/list/len_01/len_01.3.query.aql
index bd9fb11..9df5697 100644
--- a/asterix-app/src/test/resources/runtimets/queries/list/en_01/en_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/list/len_01/len_01.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/list_len_01.adm";
-
 for $l in [1]
 return [
   len([]), len([1]), len([1, 2]), len([1, 2, 3]), 
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/len_null_01/len_null_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/list/len_null_01/len_null_01.1.ddl.aql
new file mode 100644
index 0000000..754ea81
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/list/len_null_01/len_null_01.1.ddl.aql
@@ -0,0 +1,3 @@
+drop dataverse test if exists;
+create dataverse test;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/len_null_01/len_null_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/list/len_null_01/len_null_01.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/list/len_null_01/len_null_01.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/len_null_01/len_null_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/list/len_null_01/len_null_01.3.query.aql
new file mode 100644
index 0000000..34b6dd3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/list/len_null_01/len_null_01.3.query.aql
@@ -0,0 +1,4 @@
+use dataverse test;
+
+let $n := null
+return {"len1": len([]), "len2": $n}
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/listify_01/listify_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/list/listify_01/listify_01.1.ddl.aql
new file mode 100644
index 0000000..754ea81
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/list/listify_01/listify_01.1.ddl.aql
@@ -0,0 +1,3 @@
+drop dataverse test if exists;
+create dataverse test;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/listify_01/listify_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/list/listify_01/listify_01.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/list/listify_01/listify_01.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/listify_01/listify_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/list/listify_01/listify_01.3.query.aql
new file mode 100644
index 0000000..b9bc2fa
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/list/listify_01/listify_01.3.query.aql
@@ -0,0 +1,5 @@
+use dataverse test;
+
+let $token_list := 
+  for $token in [1, 2, 3] return $token
+return $token_list
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/listify_02/listify_02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/list/listify_02/listify_02.1.ddl.aql
new file mode 100644
index 0000000..754ea81
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/list/listify_02/listify_02.1.ddl.aql
@@ -0,0 +1,3 @@
+drop dataverse test if exists;
+create dataverse test;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/listify_02/listify_02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/list/listify_02/listify_02.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/list/listify_02/listify_02.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/listify_02/listify_02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/list/listify_02/listify_02.3.query.aql
new file mode 100644
index 0000000..56c66de
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/list/listify_02/listify_02.3.query.aql
@@ -0,0 +1,5 @@
+use dataverse test;
+
+let $token_list := 
+  for $token in ["foo", "bar"] return $token
+return $token_list
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/listify_03/listify_03.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/list/listify_03/listify_03.1.ddl.aql
new file mode 100644
index 0000000..21e1bcc
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/list/listify_03/listify_03.1.ddl.aql
@@ -0,0 +1,9 @@
+/*
+ * Description      :  Test that a listify on a nullable type creates a homogeneous list of type ANY.
+ *                     Guards against regression to issue 186.
+ * Expected Result  :  Success
+ */
+
+drop dataverse test if exists;
+create dataverse test;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/listify_03/listify_03.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/list/listify_03/listify_03.2.update.aql
new file mode 100644
index 0000000..3eea8d8
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/list/listify_03/listify_03.2.update.aql
@@ -0,0 +1,6 @@
+/*
+ * Description      :  Test that a listify on a nullable type creates a homogeneous list of type ANY.
+ *                     Guards against regression to issue 186.
+ * Expected Result  :  Success
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/istify_03/istify_03.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/list/listify_03/listify_03.3.query.aql
similarity index 78%
rename from asterix-app/src/test/resources/runtimets/queries/list/istify_03/istify_03.3.query.aql
rename to asterix-app/src/test/resources/runtimets/queries/list/listify_03/listify_03.3.query.aql
index e034069..b1a00ef 100644
--- a/asterix-app/src/test/resources/runtimets/queries/list/istify_03/istify_03.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/list/listify_03/listify_03.3.query.aql
@@ -4,13 +4,9 @@
  * Expected Result  :  Success
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/list_listify_03.adm";
-
 // The for prohibits the subplan from being eliminated.
 for $x in [1, 2]
 let $y := (for $i in [[1,2,3],[10,20,30],[-2,-5,0]] return min($i))
-return min($y)
\ No newline at end of file
+return min($y)
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/ny-collection-member_01/ny-collection-member_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/list/ny-collection-member_01/ny-collection-member_01.1.ddl.aql
deleted file mode 100644
index c4bbeae..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/list/ny-collection-member_01/ny-collection-member_01.1.ddl.aql
+++ /dev/null
@@ -1,9 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/list_any-collection-member_01.adm";
-
-let $x := {{1,1,1}}
-return $x[?]
- 
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/ny-collection-member_01/ny-collection-member_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/list/ny-collection-member_01/ny-collection-member_01.2.update.aql
deleted file mode 100644
index c4bbeae..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/list/ny-collection-member_01/ny-collection-member_01.2.update.aql
+++ /dev/null
@@ -1,9 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/list_any-collection-member_01.adm";
-
-let $x := {{1,1,1}}
-return $x[?]
- 
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/ny-collection-member_01/ny-collection-member_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/list/ny-collection-member_01/ny-collection-member_01.3.query.aql
deleted file mode 100644
index c4bbeae..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/list/ny-collection-member_01/ny-collection-member_01.3.query.aql
+++ /dev/null
@@ -1,9 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/list_any-collection-member_01.adm";
-
-let $x := {{1,1,1}}
-return $x[?]
- 
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_01/ordered-list-constructor_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_01/ordered-list-constructor_01.1.ddl.aql
index f1e369b..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_01/ordered-list-constructor_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_01/ordered-list-constructor_01.1.ddl.aql
@@ -1,7 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/list_ordered-list-constructor_01.adm";
-
-[ "foo", "bar", "foobar" ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_01/ordered-list-constructor_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_01/ordered-list-constructor_01.2.update.aql
index f1e369b..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_01/ordered-list-constructor_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_01/ordered-list-constructor_01.2.update.aql
@@ -1,7 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/list_ordered-list-constructor_01.adm";
-
-[ "foo", "bar", "foobar" ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_01/ordered-list-constructor_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_01/ordered-list-constructor_01.3.query.aql
index f1e369b..9d130d5 100644
--- a/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_01/ordered-list-constructor_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_01/ordered-list-constructor_01.3.query.aql
@@ -1,7 +1,3 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/list_ordered-list-constructor_01.adm";
-
-[ "foo", "bar", "foobar" ]
\ No newline at end of file
+[ "foo", "bar", "foobar" ]
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_02/ordered-list-constructor_02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_02/ordered-list-constructor_02.1.ddl.aql
index c8d5262..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_02/ordered-list-constructor_02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_02/ordered-list-constructor_02.1.ddl.aql
@@ -1,7 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/list_ordered-list-constructor_02.adm";
-
-[ ["foo", "bar"], ["foobar"] ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_02/ordered-list-constructor_02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_02/ordered-list-constructor_02.2.update.aql
index c8d5262..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_02/ordered-list-constructor_02.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_02/ordered-list-constructor_02.2.update.aql
@@ -1,7 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/list_ordered-list-constructor_02.adm";
-
-[ ["foo", "bar"], ["foobar"] ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_02/ordered-list-constructor_02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_02/ordered-list-constructor_02.3.query.aql
index c8d5262..35535b9 100644
--- a/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_02/ordered-list-constructor_02.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_02/ordered-list-constructor_02.3.query.aql
@@ -1,7 +1,3 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/list_ordered-list-constructor_02.adm";
-
-[ ["foo", "bar"], ["foobar"] ]
\ No newline at end of file
+[ ["foo", "bar"], ["foobar"] ]
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_03/ordered-list-constructor_03.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_03/ordered-list-constructor_03.1.ddl.aql
index 81eaf8b..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_03/ordered-list-constructor_03.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_03/ordered-list-constructor_03.1.ddl.aql
@@ -1,7 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/list_ordered-list-constructor_03.adm";
-
-[ null, null, null ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_03/ordered-list-constructor_03.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_03/ordered-list-constructor_03.2.update.aql
index 81eaf8b..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_03/ordered-list-constructor_03.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_03/ordered-list-constructor_03.2.update.aql
@@ -1,7 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/list_ordered-list-constructor_03.adm";
-
-[ null, null, null ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_03/ordered-list-constructor_03.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_03/ordered-list-constructor_03.3.query.aql
index 81eaf8b..05c6029 100644
--- a/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_03/ordered-list-constructor_03.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/list/ordered-list-constructor_03/ordered-list-constructor_03.3.query.aql
@@ -1,7 +1,3 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/list_ordered-list-constructor_03.adm";
-
-[ null, null, null ]
\ No newline at end of file
+[ null, null, null ]
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/scan-collection_01/scan-collection_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/list/scan-collection_01/scan-collection_01.1.ddl.aql
index d63232c..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/list/scan-collection_01/scan-collection_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/list/scan-collection_01/scan-collection_01.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/list_scan-collection_01.adm";
-
-for $u in [1, 2, 3]
-return $u
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/scan-collection_01/scan-collection_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/list/scan-collection_01/scan-collection_01.2.update.aql
index d63232c..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/list/scan-collection_01/scan-collection_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/list/scan-collection_01/scan-collection_01.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/list_scan-collection_01.adm";
-
-for $u in [1, 2, 3]
-return $u
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/scan-collection_01/scan-collection_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/list/scan-collection_01/scan-collection_01.3.query.aql
index d63232c..82cd800 100644
--- a/asterix-app/src/test/resources/runtimets/queries/list/scan-collection_01/scan-collection_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/list/scan-collection_01/scan-collection_01.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/list_scan-collection_01.adm";
-
 for $u in [1, 2, 3]
 return $u
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/union_01/union_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/list/union_01/union_01.1.ddl.aql
index 74671d5..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/list/union_01/union_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/list/union_01/union_01.1.ddl.aql
@@ -1,12 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/list_union_01.adm";
-
-for $x in 
-({{1,3}} union {{1,2}})
-order by $x
-return $x
-
 
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/union_01/union_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/list/union_01/union_01.2.update.aql
index 74671d5..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/list/union_01/union_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/list/union_01/union_01.2.update.aql
@@ -1,12 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/list_union_01.adm";
-
-for $x in 
-({{1,3}} union {{1,2}})
-order by $x
-return $x
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/union_01/union_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/list/union_01/union_01.3.query.aql
index 74671d5..515a6f4 100644
--- a/asterix-app/src/test/resources/runtimets/queries/list/union_01/union_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/list/union_01/union_01.3.query.aql
@@ -1,12 +1,6 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/list_union_01.adm";
-
 for $x in 
 ({{1,3}} union {{1,2}})
 order by $x
 return $x
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/union_02/union_02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/list/union_02/union_02.1.ddl.aql
index dd9616d..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/list/union_02/union_02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/list/union_02/union_02.1.ddl.aql
@@ -1,20 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/list_union_02.adm";
-
-for $z in (
-(
-for $x in {{3,2}}
-return $x
-)
-union
-(
-for $y in {{2,1}}
-return $y
-)
-)
-order by $z
-return $z
 
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/union_02/union_02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/list/union_02/union_02.2.update.aql
index dd9616d..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/list/union_02/union_02.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/list/union_02/union_02.2.update.aql
@@ -1,20 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/list_union_02.adm";
-
-for $z in (
-(
-for $x in {{3,2}}
-return $x
-)
-union
-(
-for $y in {{2,1}}
-return $y
-)
-)
-order by $z
-return $z
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/union_02/union_02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/list/union_02/union_02.3.query.aql
index dd9616d..05abdbc 100644
--- a/asterix-app/src/test/resources/runtimets/queries/list/union_02/union_02.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/list/union_02/union_02.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/list_union_02.adm";
-
 for $z in (
 (
 for $x in {{3,2}}
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_01/unordered-list-constructor_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_01/unordered-list-constructor_01.1.ddl.aql
index bc6f935..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_01/unordered-list-constructor_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_01/unordered-list-constructor_01.1.ddl.aql
@@ -1,7 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/list_unordered-list-constructor_01.adm";
-
-{{ "foo", "bar", "foobar" }}
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_01/unordered-list-constructor_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_01/unordered-list-constructor_01.2.update.aql
index bc6f935..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_01/unordered-list-constructor_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_01/unordered-list-constructor_01.2.update.aql
@@ -1,7 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/list_unordered-list-constructor_01.adm";
-
-{{ "foo", "bar", "foobar" }}
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_01/unordered-list-constructor_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_01/unordered-list-constructor_01.3.query.aql
index bc6f935..df00119 100644
--- a/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_01/unordered-list-constructor_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_01/unordered-list-constructor_01.3.query.aql
@@ -1,7 +1,3 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/list_unordered-list-constructor_01.adm";
-
-{{ "foo", "bar", "foobar" }}
\ No newline at end of file
+{{ "foo", "bar", "foobar" }}
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_02/unordered-list-constructor_02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_02/unordered-list-constructor_02.1.ddl.aql
index 267db4d..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_02/unordered-list-constructor_02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_02/unordered-list-constructor_02.1.ddl.aql
@@ -1,7 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/list_unordered-list-constructor_02.adm";
-
-{{ {{"foo"}}, {{"bar", "foobar"}} }}
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_02/unordered-list-constructor_02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_02/unordered-list-constructor_02.2.update.aql
index 267db4d..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_02/unordered-list-constructor_02.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_02/unordered-list-constructor_02.2.update.aql
@@ -1,7 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/list_unordered-list-constructor_02.adm";
-
-{{ {{"foo"}}, {{"bar", "foobar"}} }}
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_02/unordered-list-constructor_02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_02/unordered-list-constructor_02.3.query.aql
index 267db4d..a69024f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_02/unordered-list-constructor_02.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_02/unordered-list-constructor_02.3.query.aql
@@ -1,7 +1,3 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/list_unordered-list-constructor_02.adm";
-
-{{ {{"foo"}}, {{"bar", "foobar"}} }}
\ No newline at end of file
+{{ {{"foo"}}, {{"bar", "foobar"}} }}
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_03/unordered-list-constructor_03.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_03/unordered-list-constructor_03.1.ddl.aql
index e8b119e..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_03/unordered-list-constructor_03.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_03/unordered-list-constructor_03.1.ddl.aql
@@ -1,7 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/list_unordered-list-constructor_03.adm";
-
-{{ null, null, null }}
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_03/unordered-list-constructor_03.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_03/unordered-list-constructor_03.2.update.aql
index e8b119e..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_03/unordered-list-constructor_03.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_03/unordered-list-constructor_03.2.update.aql
@@ -1,7 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/list_unordered-list-constructor_03.adm";
-
-{{ null, null, null }}
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_03/unordered-list-constructor_03.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_03/unordered-list-constructor_03.3.query.aql
index e8b119e..86365cf 100644
--- a/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_03/unordered-list-constructor_03.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/list/unordered-list-constructor_03/unordered-list-constructor_03.3.query.aql
@@ -1,7 +1,3 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/list_unordered-list-constructor_03.adm";
-
-{{ null, null, null }}
\ No newline at end of file
+{{ null, null, null }}
diff --git a/asterix-app/src/test/resources/runtimets/queries/misc/float_01/float_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/misc/float_01/float_01.1.ddl.aql
index ec0e8e5..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/misc/float_01/float_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/misc/float_01/float_01.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/misc_float_01.adm";
-
-for $f in [1f, 1F, 1.1f, 1.1F, .1f, .1F]
-return $f
diff --git a/asterix-app/src/test/resources/runtimets/queries/misc/float_01/float_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/misc/float_01/float_01.2.update.aql
index ec0e8e5..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/misc/float_01/float_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/misc/float_01/float_01.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/misc_float_01.adm";
-
-for $f in [1f, 1F, 1.1f, 1.1F, .1f, .1F]
-return $f
diff --git a/asterix-app/src/test/resources/runtimets/queries/misc/float_01/float_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/misc/float_01/float_01.3.query.aql
index ec0e8e5..7d00ff3 100644
--- a/asterix-app/src/test/resources/runtimets/queries/misc/float_01/float_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/misc/float_01/float_01.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/misc_float_01.adm";
-
 for $f in [1f, 1F, 1.1f, 1.1F, .1f, .1F]
 return $f
diff --git a/asterix-app/src/test/resources/runtimets/queries/misc/groupby-orderby-count/groupby-orderby-count.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/misc/groupby-orderby-count/groupby-orderby-count.1.ddl.aql
index e5887ae..8aa3f3d 100644
--- a/asterix-app/src/test/resources/runtimets/queries/misc/groupby-orderby-count/groupby-orderby-count.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/misc/groupby-orderby-count/groupby-orderby-count.1.ddl.aql
@@ -1,6 +1,6 @@
 drop dataverse twitter if exists;
 create dataverse twitter;
-use dataverse twitter;
+
 create type Tweet as open {
   id: int32,
   tweetid: int64,
@@ -9,15 +9,3 @@
   text: string
 }
 
-create external dataset TwitterData(Tweet)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/twitter/extrasmalltweets.txt"),("format"="adm"));
-
-write output to nc1:"rttest/misc_groupby-orderby-count.adm";
-
-for $t in dataset('TwitterData')
-let $tokens := word-tokens($t.text)
-for $token in $tokens
-group by $tok := $token with $token
-order by count($token) desc, $tok asc
-return { "word": $tok, "count": count($token) }
diff --git a/asterix-app/src/test/resources/runtimets/queries/misc/groupby-orderby-count/groupby-orderby-count.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/misc/groupby-orderby-count/groupby-orderby-count.2.update.aql
index e5887ae..a2b6898 100644
--- a/asterix-app/src/test/resources/runtimets/queries/misc/groupby-orderby-count/groupby-orderby-count.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/misc/groupby-orderby-count/groupby-orderby-count.2.update.aql
@@ -1,23 +1,6 @@
-drop dataverse twitter if exists;
-create dataverse twitter;
 use dataverse twitter;
-create type Tweet as open {
-  id: int32,
-  tweetid: int64,
-  loc: point,
-  time: datetime,
-  text: string
-}
 
 create external dataset TwitterData(Tweet)
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/twitter/extrasmalltweets.txt"),("format"="adm"));
 
-write output to nc1:"rttest/misc_groupby-orderby-count.adm";
-
-for $t in dataset('TwitterData')
-let $tokens := word-tokens($t.text)
-for $token in $tokens
-group by $tok := $token with $token
-order by count($token) desc, $tok asc
-return { "word": $tok, "count": count($token) }
diff --git a/asterix-app/src/test/resources/runtimets/queries/misc/groupby-orderby-count/groupby-orderby-count.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/misc/groupby-orderby-count/groupby-orderby-count.3.query.aql
index e5887ae..f45c101 100644
--- a/asterix-app/src/test/resources/runtimets/queries/misc/groupby-orderby-count/groupby-orderby-count.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/misc/groupby-orderby-count/groupby-orderby-count.3.query.aql
@@ -1,19 +1,4 @@
-drop dataverse twitter if exists;
-create dataverse twitter;
 use dataverse twitter;
-create type Tweet as open {
-  id: int32,
-  tweetid: int64,
-  loc: point,
-  time: datetime,
-  text: string
-}
-
-create external dataset TwitterData(Tweet)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/twitter/extrasmalltweets.txt"),("format"="adm"));
-
-write output to nc1:"rttest/misc_groupby-orderby-count.adm";
 
 for $t in dataset('TwitterData')
 let $tokens := word-tokens($t.text)
diff --git a/asterix-app/src/test/resources/runtimets/queries/misc/ifthenelse_01/ifthenelse_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/misc/ifthenelse_01/ifthenelse_01.1.ddl.aql
index a65e675..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/misc/ifthenelse_01/ifthenelse_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/misc/ifthenelse_01/ifthenelse_01.1.ddl.aql
@@ -1,8 +0,0 @@
-use dataverse test;
-
-write output to nc1:"rttest/misc_ifthenelse_01.adm";
-
-if (2>1) then
-    20
-else
-    10
diff --git a/asterix-app/src/test/resources/runtimets/queries/misc/ifthenelse_01/ifthenelse_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/misc/ifthenelse_01/ifthenelse_01.2.update.aql
index a65e675..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/misc/ifthenelse_01/ifthenelse_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/misc/ifthenelse_01/ifthenelse_01.2.update.aql
@@ -1,8 +0,0 @@
-use dataverse test;
-
-write output to nc1:"rttest/misc_ifthenelse_01.adm";
-
-if (2>1) then
-    20
-else
-    10
diff --git a/asterix-app/src/test/resources/runtimets/queries/misc/ifthenelse_01/ifthenelse_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/misc/ifthenelse_01/ifthenelse_01.3.query.aql
index a65e675..8f33bf4 100644
--- a/asterix-app/src/test/resources/runtimets/queries/misc/ifthenelse_01/ifthenelse_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/misc/ifthenelse_01/ifthenelse_01.3.query.aql
@@ -1,7 +1,5 @@
 use dataverse test;
 
-write output to nc1:"rttest/misc_ifthenelse_01.adm";
-
 if (2>1) then
     20
 else
diff --git a/asterix-app/src/test/resources/runtimets/queries/misc/is-null_01/is-null_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/misc/is-null_01/is-null_01.1.ddl.aql
index 9005392..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/misc/is-null_01/is-null_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/misc/is-null_01/is-null_01.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
 
-use dataverse test;
-
-write output to nc1:"rttest/misc_is-null_01.adm";
-
-[is-null(null), is-null(10)]
diff --git a/asterix-app/src/test/resources/runtimets/queries/misc/is-null_01/is-null_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/misc/is-null_01/is-null_01.2.update.aql
index 9005392..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/misc/is-null_01/is-null_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/misc/is-null_01/is-null_01.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/misc_is-null_01.adm";
-
-[is-null(null), is-null(10)]
diff --git a/asterix-app/src/test/resources/runtimets/queries/misc/is-null_01/is-null_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/misc/is-null_01/is-null_01.3.query.aql
index 9005392..7725698 100644
--- a/asterix-app/src/test/resources/runtimets/queries/misc/is-null_01/is-null_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/misc/is-null_01/is-null_01.3.query.aql
@@ -1,8 +1,3 @@
-drop dataverse test if exists;
-create dataverse test;
-
 use dataverse test;
 
-write output to nc1:"rttest/misc_is-null_01.adm";
-
 [is-null(null), is-null(10)]
diff --git a/asterix-app/src/test/resources/runtimets/queries/misc/nested-loop-join_01/nested-loop-join_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/misc/nested-loop-join_01/nested-loop-join_01.1.ddl.aql
index a2e2c1d..910e206 100644
--- a/asterix-app/src/test/resources/runtimets/queries/misc/nested-loop-join_01/nested-loop-join_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/misc/nested-loop-join_01/nested-loop-join_01.1.ddl.aql
@@ -1,6 +1,5 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type UserType as open {
   uid: int32, 
@@ -16,22 +15,3 @@
   interests: {{string}}
 }
 
-create dataset Users(UserType) primary key uid;
-create dataset Visitors(VisitorType) primary key vid;
-
-
-load dataset Users 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter" 
-(("path"="nc1://data/users-visitors-small/users.json"),("format"="adm"));
-
-load dataset Visitors 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter" 
-(("path"="nc1://data/users-visitors-small/visitors.json"),("format"="adm"));
-
-write output to nc1:'rttest/misc_nested-loop-join_01.adm';
-
-for $user in dataset('Users')
-for $visitor in dataset('Visitors')
-where len($user.lottery_numbers) = len($visitor.lottery_numbers)
-order by $user.uid, $visitor.vid
-return {'user': $user, 'visitor': $visitor, 'user-lottery_numbers-len': len($user.lottery_numbers), 'visitor-lottery_numbers-len': len($visitor.lottery_numbers)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/misc/nested-loop-join_01/nested-loop-join_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/misc/nested-loop-join_01/nested-loop-join_01.2.update.aql
index a2e2c1d..52b94db 100644
--- a/asterix-app/src/test/resources/runtimets/queries/misc/nested-loop-join_01/nested-loop-join_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/misc/nested-loop-join_01/nested-loop-join_01.2.update.aql
@@ -1,21 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type UserType as open {
-  uid: int32, 
-  name: string,
-  lottery_numbers: [int32],
-  interests: {{string}}
-}
-
-create type VisitorType as open {
-  vid: int32, 
-  name: string,
-  lottery_numbers: [int32],
-  interests: {{string}}
-}
-
 create dataset Users(UserType) primary key uid;
 create dataset Visitors(VisitorType) primary key vid;
 
@@ -28,10 +12,3 @@
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter" 
 (("path"="nc1://data/users-visitors-small/visitors.json"),("format"="adm"));
 
-write output to nc1:'rttest/misc_nested-loop-join_01.adm';
-
-for $user in dataset('Users')
-for $visitor in dataset('Visitors')
-where len($user.lottery_numbers) = len($visitor.lottery_numbers)
-order by $user.uid, $visitor.vid
-return {'user': $user, 'visitor': $visitor, 'user-lottery_numbers-len': len($user.lottery_numbers), 'visitor-lottery_numbers-len': len($visitor.lottery_numbers)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/misc/nested-loop-join_01/nested-loop-join_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/misc/nested-loop-join_01/nested-loop-join_01.3.query.aql
index a2e2c1d..f905f63 100644
--- a/asterix-app/src/test/resources/runtimets/queries/misc/nested-loop-join_01/nested-loop-join_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/misc/nested-loop-join_01/nested-loop-join_01.3.query.aql
@@ -1,35 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type UserType as open {
-  uid: int32, 
-  name: string,
-  lottery_numbers: [int32],
-  interests: {{string}}
-}
-
-create type VisitorType as open {
-  vid: int32, 
-  name: string,
-  lottery_numbers: [int32],
-  interests: {{string}}
-}
-
-create dataset Users(UserType) primary key uid;
-create dataset Visitors(VisitorType) primary key vid;
-
-
-load dataset Users 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter" 
-(("path"="nc1://data/users-visitors-small/users.json"),("format"="adm"));
-
-load dataset Visitors 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter" 
-(("path"="nc1://data/users-visitors-small/visitors.json"),("format"="adm"));
-
-write output to nc1:'rttest/misc_nested-loop-join_01.adm';
-
 for $user in dataset('Users')
 for $visitor in dataset('Visitors')
 where len($user.lottery_numbers) = len($visitor.lottery_numbers)
diff --git a/asterix-app/src/test/resources/runtimets/queries/misc/partition-by-nonexistent-field/partition-by-nonexistent-field.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/misc/partition-by-nonexistent-field/partition-by-nonexistent-field.1.ddl.aql
index 10dbfc1..2c00de4 100644
--- a/asterix-app/src/test/resources/runtimets/queries/misc/partition-by-nonexistent-field/partition-by-nonexistent-field.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/misc/partition-by-nonexistent-field/partition-by-nonexistent-field.1.ddl.aql
@@ -6,15 +6,8 @@
  
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type TestType as open{
 name1:string
 }
 
-create dataset testds(TestType) primary key id;
-
-insert into dataset testds({"name1":"John","name2":"Smith"});
-
-for $l in dataset('testds')
-return $l
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/misc/partition-by-nonexistent-field/partition-by-nonexistent-field.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/misc/partition-by-nonexistent-field/partition-by-nonexistent-field.2.update.aql
index 10dbfc1..ac167e6 100644
--- a/asterix-app/src/test/resources/runtimets/queries/misc/partition-by-nonexistent-field/partition-by-nonexistent-field.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/misc/partition-by-nonexistent-field/partition-by-nonexistent-field.2.update.aql
@@ -4,17 +4,9 @@
  * Author: zheilbron
  */
  
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type TestType as open{
-name1:string
-}
-
 create dataset testds(TestType) primary key id;
 
 insert into dataset testds({"name1":"John","name2":"Smith"});
 
-for $l in dataset('testds')
-return $l
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/misc/partition-by-nonexistent-field/partition-by-nonexistent-field.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/misc/partition-by-nonexistent-field/partition-by-nonexistent-field.3.query.aql
index 10dbfc1..05a6afe 100644
--- a/asterix-app/src/test/resources/runtimets/queries/misc/partition-by-nonexistent-field/partition-by-nonexistent-field.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/misc/partition-by-nonexistent-field/partition-by-nonexistent-field.3.query.aql
@@ -3,18 +3,8 @@
  * Expected Result: An error reporting that this is not allowed
  * Author: zheilbron
  */
- 
-drop dataverse test if exists;
-create dataverse test;
+
 use dataverse test;
 
-create type TestType as open{
-name1:string
-}
-
-create dataset testds(TestType) primary key id;
-
-insert into dataset testds({"name1":"John","name2":"Smith"});
-
 for $l in dataset('testds')
-return $l
\ No newline at end of file
+return $l
diff --git a/asterix-app/src/test/resources/runtimets/queries/misc/range_01/range_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/misc/range_01/range_01.1.ddl.aql
index 9c5991d..ba4e9c7 100644
--- a/asterix-app/src/test/resources/runtimets/queries/misc/range_01/range_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/misc/range_01/range_01.1.ddl.aql
@@ -1,8 +1,4 @@
 drop dataverse test if exists;
 create dataverse test;
 
-write output to nc1:"rttest/misc_range_01.adm";
-
-for $x in range(20,30)
-return $x
 
diff --git a/asterix-app/src/test/resources/runtimets/queries/misc/range_01/range_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/misc/range_01/range_01.2.update.aql
index 9c5991d..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/misc/range_01/range_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/misc/range_01/range_01.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-
-write output to nc1:"rttest/misc_range_01.adm";
-
-for $x in range(20,30)
-return $x
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/misc/range_01/range_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/misc/range_01/range_01.3.query.aql
index 9c5991d..439c244 100644
--- a/asterix-app/src/test/resources/runtimets/queries/misc/range_01/range_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/misc/range_01/range_01.3.query.aql
@@ -1,7 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
-
-write output to nc1:"rttest/misc_range_01.adm";
+use dataverse test;
 
 for $x in range(20,30)
 return $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/misc/tid_01/tid_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/misc/tid_01/tid_01.1.ddl.aql
index ff216ea..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/misc/tid_01/tid_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/misc/tid_01/tid_01.1.ddl.aql
@@ -1,7 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
 
-write output to nc1:"rttest/misc_tid_01.adm";
-
-for $x at $i in ["a","b","c"]
-return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/misc/tid_01/tid_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/misc/tid_01/tid_01.2.update.aql
index ff216ea..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/misc/tid_01/tid_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/misc/tid_01/tid_01.2.update.aql
@@ -1,7 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-
-write output to nc1:"rttest/misc_tid_01.adm";
-
-for $x at $i in ["a","b","c"]
-return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/misc/tid_01/tid_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/misc/tid_01/tid_01.3.query.aql
index ff216ea..49e017a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/misc/tid_01/tid_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/misc/tid_01/tid_01.3.query.aql
@@ -1,7 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
-
-write output to nc1:"rttest/misc_tid_01.adm";
+use dataverse test;
 
 for $x at $i in ["a","b","c"]
 return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/misc/year_01/year_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/misc/year_01/year_01.1.ddl.aql
index f431a52..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/misc/year_01/year_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/misc/year_01/year_01.1.ddl.aql
@@ -1,6 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
 
-write output to nc1:"rttest/misc_year_01.adm";
-
-year("1996-12-01")
diff --git a/asterix-app/src/test/resources/runtimets/queries/misc/year_01/year_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/misc/year_01/year_01.2.update.aql
index f431a52..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/misc/year_01/year_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/misc/year_01/year_01.2.update.aql
@@ -1,6 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-
-write output to nc1:"rttest/misc_year_01.adm";
-
-year("1996-12-01")
diff --git a/asterix-app/src/test/resources/runtimets/queries/misc/year_01/year_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/misc/year_01/year_01.3.query.aql
index f431a52..5a2fb7b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/misc/year_01/year_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/misc/year_01/year_01.3.query.aql
@@ -1,6 +1,3 @@
-drop dataverse test if exists;
-create dataverse test;
-
-write output to nc1:"rttest/misc_year_01.adm";
+use dataverse test;
 
 year("1996-12-01")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/abs0/abs0.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/abs0/abs0.1.ddl.aql
new file mode 100644
index 0000000..754ea81
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/abs0/abs0.1.ddl.aql
@@ -0,0 +1,3 @@
+drop dataverse test if exists;
+create dataverse test;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/abs0/abs0.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/abs0/abs0.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/abs0/abs0.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/bs0/bs0.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/abs0/abs0.3.query.aql
similarity index 79%
rename from asterix-app/src/test/resources/runtimets/queries/numeric/bs0/bs0.1.ddl.aql
rename to asterix-app/src/test/resources/runtimets/queries/numeric/abs0/abs0.3.query.aql
index 3908231..b86c67a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/bs0/bs0.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/abs0/abs0.3.query.aql
@@ -1,10 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_abs0.adm";
-
-
 let $c0 := int8("-0")
 let $c1 := int16("-0")
 let $c2 := int32("-0")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/abs1/abs1.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/abs1/abs1.1.ddl.aql
new file mode 100644
index 0000000..754ea81
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/abs1/abs1.1.ddl.aql
@@ -0,0 +1,3 @@
+drop dataverse test if exists;
+create dataverse test;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/abs1/abs1.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/abs1/abs1.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/abs1/abs1.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/bs1/bs1.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/abs1/abs1.3.query.aql
similarity index 79%
rename from asterix-app/src/test/resources/runtimets/queries/numeric/bs1/bs1.1.ddl.aql
rename to asterix-app/src/test/resources/runtimets/queries/numeric/abs1/abs1.3.query.aql
index 9d36528..cac32e5 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/bs1/bs1.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/abs1/abs1.3.query.aql
@@ -1,10 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_abs1.adm";
-
-
 let $c0 := int8("-20")
 let $c1 := int16("-23")
 let $c2 := int32("-29")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/abs2/abs2.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/abs2/abs2.1.ddl.aql
new file mode 100644
index 0000000..754ea81
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/abs2/abs2.1.ddl.aql
@@ -0,0 +1,3 @@
+drop dataverse test if exists;
+create dataverse test;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/abs2/abs2.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/abs2/abs2.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/abs2/abs2.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/bs2/bs2.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/abs2/abs2.3.query.aql
similarity index 78%
rename from asterix-app/src/test/resources/runtimets/queries/numeric/bs2/bs2.1.ddl.aql
rename to asterix-app/src/test/resources/runtimets/queries/numeric/abs2/abs2.3.query.aql
index 411ae00..4307a04 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/bs2/bs2.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/abs2/abs2.3.query.aql
@@ -1,10 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_abs2.adm";
-
-
 let $c0 := float("-20.1")
 let $c1 := float("-20.56e-30")
 let $c2 := float("NaN")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/abs3/abs3.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/abs3/abs3.1.ddl.aql
new file mode 100644
index 0000000..754ea81
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/abs3/abs3.1.ddl.aql
@@ -0,0 +1,3 @@
+drop dataverse test if exists;
+create dataverse test;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/abs3/abs3.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/abs3/abs3.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/abs3/abs3.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/bs3/bs3.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/abs3/abs3.3.query.aql
similarity index 78%
rename from asterix-app/src/test/resources/runtimets/queries/numeric/bs3/bs3.1.ddl.aql
rename to asterix-app/src/test/resources/runtimets/queries/numeric/abs3/abs3.3.query.aql
index 4364409..691654f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/bs3/bs3.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/abs3/abs3.3.query.aql
@@ -1,10 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_abs3.adm";
-
-
 let $c0 := double("-20.1")
 let $c1 := double("-20.56e-30")
 let $c2 := double("NaN")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/abs4/abs4.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/abs4/abs4.1.ddl.aql
new file mode 100644
index 0000000..754ea81
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/abs4/abs4.1.ddl.aql
@@ -0,0 +1,3 @@
+drop dataverse test if exists;
+create dataverse test;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/abs4/abs4.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/abs4/abs4.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/abs4/abs4.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/abs4/abs4.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/abs4/abs4.3.query.aql
new file mode 100644
index 0000000..1c490cd
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/abs4/abs4.3.query.aql
@@ -0,0 +1,4 @@
+use dataverse test;
+
+let $c0 := int8("-20")
+return {"f0": numeric-abs($c0), "f1": numeric-abs(-1.11),"f2": numeric-abs(12.9), "f3": numeric-abs(1.11)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/add_double/add_double.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/add_double/add_double.1.ddl.aql
new file mode 100644
index 0000000..754ea81
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/add_double/add_double.1.ddl.aql
@@ -0,0 +1,3 @@
+drop dataverse test if exists;
+create dataverse test;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/add_double/add_double.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/add_double/add_double.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/add_double/add_double.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_double/dd_double.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/add_double/add_double.3.query.aql
similarity index 75%
rename from asterix-app/src/test/resources/runtimets/queries/numeric/dd_double/dd_double.1.ddl.aql
rename to asterix-app/src/test/resources/runtimets/queries/numeric/add_double/add_double.3.query.aql
index 7275ddd..d8e5e03 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_double/dd_double.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/add_double/add_double.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_add_double.adm";
-
 let $c1 := int8("+1")
 let $c2 := int16("2")
 let $c3 := int32("+3")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/add_float/add_float.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/add_float/add_float.1.ddl.aql
new file mode 100644
index 0000000..754ea81
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/add_float/add_float.1.ddl.aql
@@ -0,0 +1,3 @@
+drop dataverse test if exists;
+create dataverse test;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/add_float/add_float.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/add_float/add_float.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/add_float/add_float.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_float/dd_float.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/add_float/add_float.3.query.aql
similarity index 76%
rename from asterix-app/src/test/resources/runtimets/queries/numeric/dd_float/dd_float.3.query.aql
rename to asterix-app/src/test/resources/runtimets/queries/numeric/add_float/add_float.3.query.aql
index c833d1a..821de17 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_float/dd_float.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/add_float/add_float.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_add_float.adm";
-
 let $c1 := int8("+1")
 let $c2 := int16("2")
 let $c3 := int32("+3")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/add_int16/add_int16.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/add_int16/add_int16.1.ddl.aql
new file mode 100644
index 0000000..754ea81
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/add_int16/add_int16.1.ddl.aql
@@ -0,0 +1,3 @@
+drop dataverse test if exists;
+create dataverse test;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/add_int16/add_int16.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/add_int16/add_int16.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/add_int16/add_int16.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_int16/dd_int16.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/add_int16/add_int16.3.query.aql
similarity index 76%
rename from asterix-app/src/test/resources/runtimets/queries/numeric/dd_int16/dd_int16.3.query.aql
rename to asterix-app/src/test/resources/runtimets/queries/numeric/add_int16/add_int16.3.query.aql
index 9d4c98b..042d5fc 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_int16/dd_int16.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/add_int16/add_int16.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_add_int16.adm";
-
 let $c1 := int8("+1")
 let $c2 := int16("2")
 let $c3 := int32("+3")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/add_int32/add_int32.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/add_int32/add_int32.1.ddl.aql
new file mode 100644
index 0000000..754ea81
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/add_int32/add_int32.1.ddl.aql
@@ -0,0 +1,3 @@
+drop dataverse test if exists;
+create dataverse test;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/add_int32/add_int32.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/add_int32/add_int32.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/add_int32/add_int32.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_int32/dd_int32.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/add_int32/add_int32.3.query.aql
similarity index 76%
rename from asterix-app/src/test/resources/runtimets/queries/numeric/dd_int32/dd_int32.3.query.aql
rename to asterix-app/src/test/resources/runtimets/queries/numeric/add_int32/add_int32.3.query.aql
index 51dda5a..8580f06 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_int32/dd_int32.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/add_int32/add_int32.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_add_int32.adm";
-
 let $c1 := int8("+1")
 let $c2 := int16("2")
 let $c3 := int32("+3")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/add_int64/add_int64.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/add_int64/add_int64.1.ddl.aql
new file mode 100644
index 0000000..754ea81
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/add_int64/add_int64.1.ddl.aql
@@ -0,0 +1,3 @@
+drop dataverse test if exists;
+create dataverse test;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/add_int64/add_int64.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/add_int64/add_int64.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/add_int64/add_int64.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_int64/dd_int64.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/add_int64/add_int64.3.query.aql
similarity index 76%
rename from asterix-app/src/test/resources/runtimets/queries/numeric/dd_int64/dd_int64.3.query.aql
rename to asterix-app/src/test/resources/runtimets/queries/numeric/add_int64/add_int64.3.query.aql
index 64fc6a5..7b1805d 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_int64/dd_int64.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/add_int64/add_int64.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_add_int64.adm";
-
 let $c1 := int8("+1")
 let $c2 := int16("2")
 let $c3 := int32("+3")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/add_int8/add_int8.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/add_int8/add_int8.1.ddl.aql
new file mode 100644
index 0000000..754ea81
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/add_int8/add_int8.1.ddl.aql
@@ -0,0 +1,3 @@
+drop dataverse test if exists;
+create dataverse test;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/add_int8/add_int8.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/add_int8/add_int8.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/add_int8/add_int8.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_int8/dd_int8.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/add_int8/add_int8.3.query.aql
similarity index 76%
rename from asterix-app/src/test/resources/runtimets/queries/numeric/dd_int8/dd_int8.3.query.aql
rename to asterix-app/src/test/resources/runtimets/queries/numeric/add_int8/add_int8.3.query.aql
index 9d3bb3f..42566d7 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_int8/dd_int8.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/add_int8/add_int8.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_add_int8.adm";
-
 let $c1 := int8("+1")
 let $c2 := int16("2")
 let $c3 := int32("+3")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/bs0/bs0.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/bs0/bs0.2.update.aql
deleted file mode 100644
index 3908231..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/bs0/bs0.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/numeric_abs0.adm";
-
-
-let $c0 := int8("-0")
-let $c1 := int16("-0")
-let $c2 := int32("-0")
-let $c3 := int64("-0")
-let $c4 := int8("0")
-let $c5 := int16("0")
-let $c6 := int32("0")
-let $c7 := int64("0")
-return {"f0": numeric-abs($c0), "f1": numeric-abs($c1),"f2": numeric-abs($c2), "f3": numeric-abs($c3),
-	"f4": numeric-abs($c4),"f5": numeric-abs($c5) ,"f6": numeric-abs($c6), "f7": numeric-abs($c7)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/bs0/bs0.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/bs0/bs0.3.query.aql
deleted file mode 100644
index 3908231..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/bs0/bs0.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/numeric_abs0.adm";
-
-
-let $c0 := int8("-0")
-let $c1 := int16("-0")
-let $c2 := int32("-0")
-let $c3 := int64("-0")
-let $c4 := int8("0")
-let $c5 := int16("0")
-let $c6 := int32("0")
-let $c7 := int64("0")
-return {"f0": numeric-abs($c0), "f1": numeric-abs($c1),"f2": numeric-abs($c2), "f3": numeric-abs($c3),
-	"f4": numeric-abs($c4),"f5": numeric-abs($c5) ,"f6": numeric-abs($c6), "f7": numeric-abs($c7)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/bs1/bs1.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/bs1/bs1.2.update.aql
deleted file mode 100644
index 9d36528..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/bs1/bs1.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/numeric_abs1.adm";
-
-
-let $c0 := int8("-20")
-let $c1 := int16("-23")
-let $c2 := int32("-29")
-let $c3 := int64("-21")
-let $c4 := int8("20")
-let $c5 := int16("22")
-let $c6 := int32("23")
-let $c7 := int64("27")
-return {"f0": numeric-abs($c0), "f1": numeric-abs($c1),"f2": numeric-abs($c2), "f3": numeric-abs($c3),
-	"f4": numeric-abs($c4),"f5": numeric-abs($c5) ,"f6": numeric-abs($c6), "f7": numeric-abs($c7)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/bs1/bs1.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/bs1/bs1.3.query.aql
deleted file mode 100644
index 9d36528..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/bs1/bs1.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/numeric_abs1.adm";
-
-
-let $c0 := int8("-20")
-let $c1 := int16("-23")
-let $c2 := int32("-29")
-let $c3 := int64("-21")
-let $c4 := int8("20")
-let $c5 := int16("22")
-let $c6 := int32("23")
-let $c7 := int64("27")
-return {"f0": numeric-abs($c0), "f1": numeric-abs($c1),"f2": numeric-abs($c2), "f3": numeric-abs($c3),
-	"f4": numeric-abs($c4),"f5": numeric-abs($c5) ,"f6": numeric-abs($c6), "f7": numeric-abs($c7)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/bs2/bs2.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/bs2/bs2.2.update.aql
deleted file mode 100644
index 411ae00..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/bs2/bs2.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/numeric_abs2.adm";
-
-
-let $c0 := float("-20.1")
-let $c1 := float("-20.56e-30")
-let $c2 := float("NaN")
-let $c3 := float("INF")
-let $c4 := float("-INF")
-let $c5 := float("-0.0")
-let $c6 := float("0.0")
-return {"f0": numeric-abs($c0), "f1": numeric-abs($c1),"f2": numeric-abs($c2),
-        "f3": numeric-abs($c3),"f4": numeric-abs($c4),"f5": numeric-abs($c5), "f6": numeric-abs($c6)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/bs2/bs2.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/bs2/bs2.3.query.aql
deleted file mode 100644
index 411ae00..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/bs2/bs2.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/numeric_abs2.adm";
-
-
-let $c0 := float("-20.1")
-let $c1 := float("-20.56e-30")
-let $c2 := float("NaN")
-let $c3 := float("INF")
-let $c4 := float("-INF")
-let $c5 := float("-0.0")
-let $c6 := float("0.0")
-return {"f0": numeric-abs($c0), "f1": numeric-abs($c1),"f2": numeric-abs($c2),
-        "f3": numeric-abs($c3),"f4": numeric-abs($c4),"f5": numeric-abs($c5), "f6": numeric-abs($c6)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/bs3/bs3.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/bs3/bs3.2.update.aql
deleted file mode 100644
index 4364409..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/bs3/bs3.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/numeric_abs3.adm";
-
-
-let $c0 := double("-20.1")
-let $c1 := double("-20.56e-30")
-let $c2 := double("NaN")
-let $c3 := double("INF")
-let $c4 := double("-INF")
-let $c5 := double("-0.0")
-let $c6 := double("0.0")
-return {"d0": numeric-abs($c0), "d1": numeric-abs($c1),"d2": numeric-abs($c2),
-        "d3": numeric-abs($c3),"d4": numeric-abs($c4),"d5": numeric-abs($c5), "d6": numeric-abs($c6)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/bs3/bs3.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/bs3/bs3.3.query.aql
deleted file mode 100644
index 4364409..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/bs3/bs3.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/numeric_abs3.adm";
-
-
-let $c0 := double("-20.1")
-let $c1 := double("-20.56e-30")
-let $c2 := double("NaN")
-let $c3 := double("INF")
-let $c4 := double("-INF")
-let $c5 := double("-0.0")
-let $c6 := double("0.0")
-return {"d0": numeric-abs($c0), "d1": numeric-abs($c1),"d2": numeric-abs($c2),
-        "d3": numeric-abs($c3),"d4": numeric-abs($c4),"d5": numeric-abs($c5), "d6": numeric-abs($c6)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/bs4/bs4.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/bs4/bs4.1.ddl.aql
deleted file mode 100644
index b2db5fd..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/bs4/bs4.1.ddl.aql
+++ /dev/null
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_abs4.adm";
-
-let $c0 := int8("-20")
-return {"f0": numeric-abs($c0), "f1": numeric-abs(-1.11),"f2": numeric-abs(12.9), "f3": numeric-abs(1.11)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/bs4/bs4.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/bs4/bs4.2.update.aql
deleted file mode 100644
index b2db5fd..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/bs4/bs4.2.update.aql
+++ /dev/null
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_abs4.adm";
-
-let $c0 := int8("-20")
-return {"f0": numeric-abs($c0), "f1": numeric-abs(-1.11),"f2": numeric-abs(12.9), "f3": numeric-abs(1.11)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/bs4/bs4.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/bs4/bs4.3.query.aql
deleted file mode 100644
index b2db5fd..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/bs4/bs4.3.query.aql
+++ /dev/null
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_abs4.adm";
-
-let $c0 := int8("-20")
-return {"f0": numeric-abs($c0), "f1": numeric-abs(-1.11),"f2": numeric-abs(12.9), "f3": numeric-abs(1.11)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling0/ceiling0.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling0/ceiling0.1.ddl.aql
index 82e314f..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling0/ceiling0.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling0/ceiling0.1.ddl.aql
@@ -1,17 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_ceiling0.adm";
-
-
-let $c0 := int8("-0")
-let $c1 := int16("-0")
-let $c2 := int32("-0")
-let $c3 := int64("-0")
-let $c4 := int8("0")
-let $c5 := int16("0")
-let $c6 := int32("0")
-let $c7 := int64("0")
-return {"f0": numeric-ceiling($c0), "f1": numeric-ceiling($c1),"f2": numeric-ceiling($c2), "f3": numeric-ceiling($c3),
-	"f4": numeric-ceiling($c4),"f5": numeric-ceiling($c5) ,"f6": numeric-ceiling($c6), "f7": numeric-ceiling($c7)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling0/ceiling0.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling0/ceiling0.2.update.aql
index 82e314f..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling0/ceiling0.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling0/ceiling0.2.update.aql
@@ -1,17 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_ceiling0.adm";
-
-
-let $c0 := int8("-0")
-let $c1 := int16("-0")
-let $c2 := int32("-0")
-let $c3 := int64("-0")
-let $c4 := int8("0")
-let $c5 := int16("0")
-let $c6 := int32("0")
-let $c7 := int64("0")
-return {"f0": numeric-ceiling($c0), "f1": numeric-ceiling($c1),"f2": numeric-ceiling($c2), "f3": numeric-ceiling($c3),
-	"f4": numeric-ceiling($c4),"f5": numeric-ceiling($c5) ,"f6": numeric-ceiling($c6), "f7": numeric-ceiling($c7)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling0/ceiling0.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling0/ceiling0.3.query.aql
index 82e314f..b5d24d7 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling0/ceiling0.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling0/ceiling0.3.query.aql
@@ -1,10 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_ceiling0.adm";
-
-
 let $c0 := int8("-0")
 let $c1 := int16("-0")
 let $c2 := int32("-0")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling1/ceiling1.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling1/ceiling1.1.ddl.aql
index 88e8d63..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling1/ceiling1.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling1/ceiling1.1.ddl.aql
@@ -1,17 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_ceiling1.adm";
-
-
-let $c0 := int8("-20")
-let $c1 := int16("-23")
-let $c2 := int32("-29")
-let $c3 := int64("-21")
-let $c4 := int8("20")
-let $c5 := int16("22")
-let $c6 := int32("23")
-let $c7 := int64("27")
-return {"f0": numeric-ceiling($c0), "f1": numeric-ceiling($c1),"f2": numeric-ceiling($c2), "f3": numeric-ceiling($c3),
-	"f4": numeric-ceiling($c4),"f5": numeric-ceiling($c5) ,"f6": numeric-ceiling($c6), "f7": numeric-ceiling($c7)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling1/ceiling1.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling1/ceiling1.2.update.aql
index 88e8d63..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling1/ceiling1.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling1/ceiling1.2.update.aql
@@ -1,17 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_ceiling1.adm";
-
-
-let $c0 := int8("-20")
-let $c1 := int16("-23")
-let $c2 := int32("-29")
-let $c3 := int64("-21")
-let $c4 := int8("20")
-let $c5 := int16("22")
-let $c6 := int32("23")
-let $c7 := int64("27")
-return {"f0": numeric-ceiling($c0), "f1": numeric-ceiling($c1),"f2": numeric-ceiling($c2), "f3": numeric-ceiling($c3),
-	"f4": numeric-ceiling($c4),"f5": numeric-ceiling($c5) ,"f6": numeric-ceiling($c6), "f7": numeric-ceiling($c7)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling1/ceiling1.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling1/ceiling1.3.query.aql
index 88e8d63..b40dc003 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling1/ceiling1.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling1/ceiling1.3.query.aql
@@ -1,10 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_ceiling1.adm";
-
-
 let $c0 := int8("-20")
 let $c1 := int16("-23")
 let $c2 := int32("-29")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling2/ceiling2.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling2/ceiling2.1.ddl.aql
index 8f71213..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling2/ceiling2.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling2/ceiling2.1.ddl.aql
@@ -1,16 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_ceiling2.adm";
-
-
-let $c0 := float("20.1")
-let $c1 := float("-20.56e-30")
-let $c2 := float("NaN")
-let $c3 := float("INF")
-let $c4 := float("-INF")
-let $c5 := float("-0.0")
-let $c6 := float("0.0")
-return {"f0": numeric-ceiling($c0), "f1": numeric-ceiling($c1),"f2": numeric-ceiling($c2),
-        "f3": numeric-ceiling($c3),"f4": numeric-ceiling($c4),"f5": numeric-ceiling($c5), "f6": numeric-ceiling($c6)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling2/ceiling2.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling2/ceiling2.2.update.aql
index 8f71213..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling2/ceiling2.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling2/ceiling2.2.update.aql
@@ -1,16 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_ceiling2.adm";
-
-
-let $c0 := float("20.1")
-let $c1 := float("-20.56e-30")
-let $c2 := float("NaN")
-let $c3 := float("INF")
-let $c4 := float("-INF")
-let $c5 := float("-0.0")
-let $c6 := float("0.0")
-return {"f0": numeric-ceiling($c0), "f1": numeric-ceiling($c1),"f2": numeric-ceiling($c2),
-        "f3": numeric-ceiling($c3),"f4": numeric-ceiling($c4),"f5": numeric-ceiling($c5), "f6": numeric-ceiling($c6)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling2/ceiling2.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling2/ceiling2.3.query.aql
index 8f71213..6d6b7a7 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling2/ceiling2.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling2/ceiling2.3.query.aql
@@ -1,10 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_ceiling2.adm";
-
-
 let $c0 := float("20.1")
 let $c1 := float("-20.56e-30")
 let $c2 := float("NaN")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling3/ceiling3.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling3/ceiling3.1.ddl.aql
index 67ad9db..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling3/ceiling3.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling3/ceiling3.1.ddl.aql
@@ -1,16 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_ceiling3.adm";
-
-
-let $c0 := double("20.1")
-let $c1 := double("-20.56e-30")
-let $c2 := double("NaN")
-let $c3 := double("INF")
-let $c4 := double("-INF")
-let $c5 := double("-0.0")
-let $c6 := double("0.0")
-return {"d0": numeric-ceiling($c0), "d1": numeric-ceiling($c1),"d2": numeric-ceiling($c2),
-        "d3": numeric-ceiling($c3),"d4": numeric-ceiling($c4),"d5": numeric-ceiling($c5), "d6": numeric-ceiling($c6)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling3/ceiling3.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling3/ceiling3.2.update.aql
index 67ad9db..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling3/ceiling3.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling3/ceiling3.2.update.aql
@@ -1,16 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_ceiling3.adm";
-
-
-let $c0 := double("20.1")
-let $c1 := double("-20.56e-30")
-let $c2 := double("NaN")
-let $c3 := double("INF")
-let $c4 := double("-INF")
-let $c5 := double("-0.0")
-let $c6 := double("0.0")
-return {"d0": numeric-ceiling($c0), "d1": numeric-ceiling($c1),"d2": numeric-ceiling($c2),
-        "d3": numeric-ceiling($c3),"d4": numeric-ceiling($c4),"d5": numeric-ceiling($c5), "d6": numeric-ceiling($c6)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling3/ceiling3.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling3/ceiling3.3.query.aql
index 67ad9db..51ecbf5 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling3/ceiling3.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling3/ceiling3.3.query.aql
@@ -1,10 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_ceiling3.adm";
-
-
 let $c0 := double("20.1")
 let $c1 := double("-20.56e-30")
 let $c2 := double("NaN")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling4/ceiling4.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling4/ceiling4.1.ddl.aql
index a90851c..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling4/ceiling4.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling4/ceiling4.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_ceiling4.adm";
-
-let $c0 := int8("-20")
-return {"f0": numeric-ceiling($c0), "f1": numeric-ceiling(-1.11),"f2": numeric-ceiling(12.9), "f3": numeric-ceiling(1.11)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling4/ceiling4.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling4/ceiling4.2.update.aql
index a90851c..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling4/ceiling4.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling4/ceiling4.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_ceiling4.adm";
-
-let $c0 := int8("-20")
-return {"f0": numeric-ceiling($c0), "f1": numeric-ceiling(-1.11),"f2": numeric-ceiling(12.9), "f3": numeric-ceiling(1.11)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling4/ceiling4.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling4/ceiling4.3.query.aql
index a90851c..4d3b3ef 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling4/ceiling4.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling4/ceiling4.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_ceiling4.adm";
-
 let $c0 := int8("-20")
 return {"f0": numeric-ceiling($c0), "f1": numeric-ceiling(-1.11),"f2": numeric-ceiling(12.9), "f3": numeric-ceiling(1.11)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_double/dd_double.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/dd_double/dd_double.2.update.aql
deleted file mode 100644
index 7275ddd..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_double/dd_double.2.update.aql
+++ /dev/null
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_add_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c6+$c1,"result2": $c6+$c2,"result3": $c6+$c3,"result4": $c6+$c4,"result5": $c6+$c5, "result6": $c6+$c6, "result7": $c6+$c8 }
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_double/dd_double.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/dd_double/dd_double.3.query.aql
deleted file mode 100644
index 7275ddd..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_double/dd_double.3.query.aql
+++ /dev/null
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_add_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c6+$c1,"result2": $c6+$c2,"result3": $c6+$c3,"result4": $c6+$c4,"result5": $c6+$c5, "result6": $c6+$c6, "result7": $c6+$c8 }
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_float/dd_float.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/dd_float/dd_float.1.ddl.aql
deleted file mode 100644
index c833d1a..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_float/dd_float.1.ddl.aql
+++ /dev/null
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_add_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c5+$c1,"result2": $c5+$c2,"result3": $c5+$c3,"result4": $c5+$c4,"result5": $c5+$c5, "result6": $c5+$c6, "result7": $c6+$c8 }
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_float/dd_float.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/dd_float/dd_float.2.update.aql
deleted file mode 100644
index c833d1a..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_float/dd_float.2.update.aql
+++ /dev/null
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_add_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c5+$c1,"result2": $c5+$c2,"result3": $c5+$c3,"result4": $c5+$c4,"result5": $c5+$c5, "result6": $c5+$c6, "result7": $c6+$c8 }
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_int16/dd_int16.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/dd_int16/dd_int16.1.ddl.aql
deleted file mode 100644
index 9d4c98b..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_int16/dd_int16.1.ddl.aql
+++ /dev/null
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_add_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c2+$c1,"result2": $c2+$c2,"result3": $c2+$c3,"result4": $c2+$c4,"result5": $c2+$c5, "result6": $c2+$c6, "result7": $c6+$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_int16/dd_int16.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/dd_int16/dd_int16.2.update.aql
deleted file mode 100644
index 9d4c98b..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_int16/dd_int16.2.update.aql
+++ /dev/null
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_add_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c2+$c1,"result2": $c2+$c2,"result3": $c2+$c3,"result4": $c2+$c4,"result5": $c2+$c5, "result6": $c2+$c6, "result7": $c6+$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_int32/dd_int32.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/dd_int32/dd_int32.1.ddl.aql
deleted file mode 100644
index 51dda5a..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_int32/dd_int32.1.ddl.aql
+++ /dev/null
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_add_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c3+$c1,"result2": $c3+$c2,"result3": $c3+$c3,"result4": $c3+$c4,"result5": $c3+$c5, "result6": $c3+$c6, "result7": $c6+$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_int32/dd_int32.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/dd_int32/dd_int32.2.update.aql
deleted file mode 100644
index 51dda5a..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_int32/dd_int32.2.update.aql
+++ /dev/null
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_add_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c3+$c1,"result2": $c3+$c2,"result3": $c3+$c3,"result4": $c3+$c4,"result5": $c3+$c5, "result6": $c3+$c6, "result7": $c6+$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_int64/dd_int64.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/dd_int64/dd_int64.1.ddl.aql
deleted file mode 100644
index 64fc6a5..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_int64/dd_int64.1.ddl.aql
+++ /dev/null
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_add_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c4+$c1,"result2": $c4+$c2,"result3": $c4+$c3,"result4": $c4+$c4,"result5": $c4+$c5, "result6": $c4+$c6, "result7": $c6+$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_int64/dd_int64.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/dd_int64/dd_int64.2.update.aql
deleted file mode 100644
index 64fc6a5..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_int64/dd_int64.2.update.aql
+++ /dev/null
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_add_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c4+$c1,"result2": $c4+$c2,"result3": $c4+$c3,"result4": $c4+$c4,"result5": $c4+$c5, "result6": $c4+$c6, "result7": $c6+$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_int8/dd_int8.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/dd_int8/dd_int8.1.ddl.aql
deleted file mode 100644
index 9d3bb3f..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_int8/dd_int8.1.ddl.aql
+++ /dev/null
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_add_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c1+$c1,"result2": $c1+$c2,"result3": $c1+$c3,"result4": $c1+$c4,"result5": $c1+$c5, "result6": $c1+$c6, "result7": $c6+$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_int8/dd_int8.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/dd_int8/dd_int8.2.update.aql
deleted file mode 100644
index 9d3bb3f..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/dd_int8/dd_int8.2.update.aql
+++ /dev/null
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_add_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c1+$c1,"result2": $c1+$c2,"result3": $c1+$c3,"result4": $c1+$c4,"result5": $c1+$c5, "result6": $c1+$c6, "result7": $c6+$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_double/divide_double.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_double/divide_double.1.ddl.aql
index 9b3412d..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_double/divide_double.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_double/divide_double.1.ddl.aql
@@ -1,15 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_divide_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c6/$c1,"result2": $c6/$c2,"result3": $c6/$c3,"result4": $c6/$c4,"result5": $c6/$c5, "result6": $c6/$c6, "result7": $c6/$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_double/divide_double.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_double/divide_double.2.update.aql
index 9b3412d..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_double/divide_double.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_double/divide_double.2.update.aql
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_divide_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c6/$c1,"result2": $c6/$c2,"result3": $c6/$c3,"result4": $c6/$c4,"result5": $c6/$c5, "result6": $c6/$c6, "result7": $c6/$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_double/divide_double.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_double/divide_double.3.query.aql
index 9b3412d..71027c5 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_double/divide_double.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_double/divide_double.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_divide_double.adm";
-
 let $c1 := int8("+1")
 let $c2 := int16("2")
 let $c3 := int32("+3")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_float/divide_float.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_float/divide_float.1.ddl.aql
index ac8b2cb..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_float/divide_float.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_float/divide_float.1.ddl.aql
@@ -1,15 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_divide_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c5/$c1,"result2": $c5/$c2,"result3": $c5/$c3,"result4": $c5/$c4,"result5": $c5/$c5, "result6": $c5/$c6, "result7": $c6/$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_float/divide_float.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_float/divide_float.2.update.aql
index ac8b2cb..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_float/divide_float.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_float/divide_float.2.update.aql
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_divide_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c5/$c1,"result2": $c5/$c2,"result3": $c5/$c3,"result4": $c5/$c4,"result5": $c5/$c5, "result6": $c5/$c6, "result7": $c6/$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_float/divide_float.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_float/divide_float.3.query.aql
index ac8b2cb..2f3ba46 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_float/divide_float.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_float/divide_float.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_divide_float.adm";
-
 let $c1 := int8("+1")
 let $c2 := int16("2")
 let $c3 := int32("+3")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.1.ddl.aql
index afda7f5..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.1.ddl.aql
@@ -1,15 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_divide_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c2/$c1,"result2": $c2/$c2,"result3": $c2/$c3,"result4": $c2/$c4,"result5": $c2/$c5, "result6": $c2/$c6, "result7": $c6/$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.2.update.aql
index afda7f5..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.2.update.aql
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_divide_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c2/$c1,"result2": $c2/$c2,"result3": $c2/$c3,"result4": $c2/$c4,"result5": $c2/$c5, "result6": $c2/$c6, "result7": $c6/$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.3.query.aql
index afda7f5..a441651 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_divide_int16.adm";
-
 let $c1 := int8("+1")
 let $c2 := int16("2")
 let $c3 := int32("+3")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.1.ddl.aql
index b5305c3..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.1.ddl.aql
@@ -1,15 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_divide_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c3/$c1,"result2": $c3/$c2,"result3": $c3/$c3,"result4": $c3/$c4,"result5": $c3/$c5, "result6": $c3/$c6, "result7": $c6/$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.2.update.aql
index b5305c3..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.2.update.aql
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_divide_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c3/$c1,"result2": $c3/$c2,"result3": $c3/$c3,"result4": $c3/$c4,"result5": $c3/$c5, "result6": $c3/$c6, "result7": $c6/$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.3.query.aql
index b5305c3..2362f53 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_divide_int32.adm";
-
 let $c1 := int8("+1")
 let $c2 := int16("2")
 let $c3 := int32("+3")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.1.ddl.aql
index f4239b1..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.1.ddl.aql
@@ -1,15 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_divide_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c4/$c1,"result2": $c4/$c2,"result3": $c4/$c3,"result4": $c4/$c4,"result5": $c4/$c5, "result6": $c4/$c6, "result7": $c6/$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.2.update.aql
index f4239b1..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.2.update.aql
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_divide_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c4/$c1,"result2": $c4/$c2,"result3": $c4/$c3,"result4": $c4/$c4,"result5": $c4/$c5, "result6": $c4/$c6, "result7": $c6/$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.3.query.aql
index f4239b1..f8bbe0d 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.3.query.aql
@@ -1,8 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_divide_int64.adm";
 
 let $c1 := int8("+1")
 let $c2 := int16("2")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.1.ddl.aql
index a38ba28..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.1.ddl.aql
@@ -1,15 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_divide_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c1/$c1,"result2": $c1/$c2,"result3": $c1/$c3,"result4": $c1/$c4,"result5": $c1/$c5, "result6": $c1/$c6, "result7": $c6/$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.2.update.aql
index a38ba28..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.2.update.aql
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_divide_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c1/$c1,"result2": $c1/$c2,"result3": $c1/$c3,"result4": $c1/$c4,"result5": $c1/$c5, "result6": $c1/$c6, "result7": $c6/$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.3.query.aql
index a38ba28..274d86b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_divide_int8.adm";
-
 let $c1 := int8("+1")
 let $c2 := int16("2")
 let $c3 := int32("+3")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/floor0/floor0.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/floor0/floor0.1.ddl.aql
index adfab71..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/floor0/floor0.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/floor0/floor0.1.ddl.aql
@@ -1,17 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_floor0.adm";
-
-
-let $c0 := int8("-0")
-let $c1 := int16("-0")
-let $c2 := int32("-0")
-let $c3 := int64("-0")
-let $c4 := int8("0")
-let $c5 := int16("0")
-let $c6 := int32("0")
-let $c7 := int64("0")
-return {"f0": numeric-floor($c0), "f1": numeric-floor($c1),"f2": numeric-floor($c2), "f3": numeric-floor($c3),
-	"f4": numeric-floor($c4),"f5": numeric-floor($c5) ,"f6": numeric-floor($c6), "f7": numeric-floor($c7)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/floor0/floor0.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/floor0/floor0.2.update.aql
index adfab71..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/floor0/floor0.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/floor0/floor0.2.update.aql
@@ -1,17 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_floor0.adm";
-
-
-let $c0 := int8("-0")
-let $c1 := int16("-0")
-let $c2 := int32("-0")
-let $c3 := int64("-0")
-let $c4 := int8("0")
-let $c5 := int16("0")
-let $c6 := int32("0")
-let $c7 := int64("0")
-return {"f0": numeric-floor($c0), "f1": numeric-floor($c1),"f2": numeric-floor($c2), "f3": numeric-floor($c3),
-	"f4": numeric-floor($c4),"f5": numeric-floor($c5) ,"f6": numeric-floor($c6), "f7": numeric-floor($c7)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/floor0/floor0.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/floor0/floor0.3.query.aql
index adfab71..64bec24 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/floor0/floor0.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/floor0/floor0.3.query.aql
@@ -1,10 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_floor0.adm";
-
-
 let $c0 := int8("-0")
 let $c1 := int16("-0")
 let $c2 := int32("-0")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/floor1/floor1.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/floor1/floor1.1.ddl.aql
index a119b67..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/floor1/floor1.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/floor1/floor1.1.ddl.aql
@@ -1,17 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_floor1.adm";
-
-
-let $c0 := int8("-20")
-let $c1 := int16("-23")
-let $c2 := int32("-29")
-let $c3 := int64("-21")
-let $c4 := int8("20")
-let $c5 := int16("22")
-let $c6 := int32("23")
-let $c7 := int64("27")
-return {"f0": numeric-floor($c0), "f1": numeric-floor($c1),"f2": numeric-floor($c2), "f3": numeric-floor($c3),
-	"f4": numeric-floor($c4),"f5": numeric-floor($c5) ,"f6": numeric-floor($c6), "f7": numeric-floor($c7)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/floor1/floor1.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/floor1/floor1.2.update.aql
index a119b67..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/floor1/floor1.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/floor1/floor1.2.update.aql
@@ -1,17 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_floor1.adm";
-
-
-let $c0 := int8("-20")
-let $c1 := int16("-23")
-let $c2 := int32("-29")
-let $c3 := int64("-21")
-let $c4 := int8("20")
-let $c5 := int16("22")
-let $c6 := int32("23")
-let $c7 := int64("27")
-return {"f0": numeric-floor($c0), "f1": numeric-floor($c1),"f2": numeric-floor($c2), "f3": numeric-floor($c3),
-	"f4": numeric-floor($c4),"f5": numeric-floor($c5) ,"f6": numeric-floor($c6), "f7": numeric-floor($c7)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/floor1/floor1.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/floor1/floor1.3.query.aql
index a119b67..2edc17a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/floor1/floor1.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/floor1/floor1.3.query.aql
@@ -1,10 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_floor1.adm";
-
-
 let $c0 := int8("-20")
 let $c1 := int16("-23")
 let $c2 := int32("-29")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/floor2/floor2.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/floor2/floor2.1.ddl.aql
index 7e575dd..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/floor2/floor2.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/floor2/floor2.1.ddl.aql
@@ -1,16 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_floor2.adm";
-
-
-let $c0 := float("20.1")
-let $c1 := float("-20.56e-30")
-let $c2 := float("NaN")
-let $c3 := float("INF")
-let $c4 := float("-INF")
-let $c5 := float("-0.0")
-let $c6 := float("0.0")
-return {"f0": numeric-floor($c0), "f1": numeric-floor($c1),"f2": numeric-floor($c2),
-        "f3": numeric-floor($c3),"f4": numeric-floor($c4),"f5": numeric-floor($c5), "f6": numeric-floor($c6)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/floor2/floor2.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/floor2/floor2.2.update.aql
index 7e575dd..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/floor2/floor2.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/floor2/floor2.2.update.aql
@@ -1,16 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_floor2.adm";
-
-
-let $c0 := float("20.1")
-let $c1 := float("-20.56e-30")
-let $c2 := float("NaN")
-let $c3 := float("INF")
-let $c4 := float("-INF")
-let $c5 := float("-0.0")
-let $c6 := float("0.0")
-return {"f0": numeric-floor($c0), "f1": numeric-floor($c1),"f2": numeric-floor($c2),
-        "f3": numeric-floor($c3),"f4": numeric-floor($c4),"f5": numeric-floor($c5), "f6": numeric-floor($c6)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/floor2/floor2.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/floor2/floor2.3.query.aql
index 7e575dd..89c408d 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/floor2/floor2.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/floor2/floor2.3.query.aql
@@ -1,10 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_floor2.adm";
-
-
 let $c0 := float("20.1")
 let $c1 := float("-20.56e-30")
 let $c2 := float("NaN")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/floor3/floor3.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/floor3/floor3.1.ddl.aql
index d975dfc..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/floor3/floor3.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/floor3/floor3.1.ddl.aql
@@ -1,16 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_floor3.adm";
-
-
-let $c0 := double("20.1")
-let $c1 := double("-20.56e-30")
-let $c2 := double("NaN")
-let $c3 := double("INF")
-let $c4 := double("-INF")
-let $c5 := double("-0.0")
-let $c6 := double("0.0")
-return {"d0": numeric-floor($c0), "d1": numeric-floor($c1),"d2": numeric-floor($c2),
-        "d3": numeric-floor($c3),"d4": numeric-floor($c4),"d5": numeric-floor($c5), "d6": numeric-floor($c6)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/floor3/floor3.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/floor3/floor3.2.update.aql
index d975dfc..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/floor3/floor3.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/floor3/floor3.2.update.aql
@@ -1,16 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_floor3.adm";
-
-
-let $c0 := double("20.1")
-let $c1 := double("-20.56e-30")
-let $c2 := double("NaN")
-let $c3 := double("INF")
-let $c4 := double("-INF")
-let $c5 := double("-0.0")
-let $c6 := double("0.0")
-return {"d0": numeric-floor($c0), "d1": numeric-floor($c1),"d2": numeric-floor($c2),
-        "d3": numeric-floor($c3),"d4": numeric-floor($c4),"d5": numeric-floor($c5), "d6": numeric-floor($c6)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/floor3/floor3.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/floor3/floor3.3.query.aql
index d975dfc..66b2183 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/floor3/floor3.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/floor3/floor3.3.query.aql
@@ -1,10 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_floor3.adm";
-
-
 let $c0 := double("20.1")
 let $c1 := double("-20.56e-30")
 let $c2 := double("NaN")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/floor4/floor4.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/floor4/floor4.1.ddl.aql
index eae917d..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/floor4/floor4.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/floor4/floor4.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_floor4.adm";
-
-let $c0 := int8("-20")
-return {"f0": numeric-floor($c0), "f1": numeric-floor(-1.11),"f2": numeric-floor(12.9), "f3": numeric-floor(1.11)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/floor4/floor4.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/floor4/floor4.2.update.aql
index eae917d..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/floor4/floor4.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/floor4/floor4.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_floor4.adm";
-
-let $c0 := int8("-20")
-return {"f0": numeric-floor($c0), "f1": numeric-floor(-1.11),"f2": numeric-floor(12.9), "f3": numeric-floor(1.11)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/floor4/floor4.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/floor4/floor4.3.query.aql
index eae917d..77c6069 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/floor4/floor4.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/floor4/floor4.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_floor4.adm";
-
 let $c0 := int8("-20")
 return {"f0": numeric-floor($c0), "f1": numeric-floor(-1.11),"f2": numeric-floor(12.9), "f3": numeric-floor(1.11)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_double/multiply_double.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_double/multiply_double.1.ddl.aql
index 3e74b2d..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_double/multiply_double.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_double/multiply_double.1.ddl.aql
@@ -1,15 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_multiply_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c6*$c1,"result2": $c6*$c2,"result3": $c6*$c3,"result4": $c6*$c4,"result5": $c6*$c5, "result6": $c6*$c6, "result7": $c6*$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_double/multiply_double.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_double/multiply_double.2.update.aql
index 3e74b2d..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_double/multiply_double.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_double/multiply_double.2.update.aql
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_multiply_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c6*$c1,"result2": $c6*$c2,"result3": $c6*$c3,"result4": $c6*$c4,"result5": $c6*$c5, "result6": $c6*$c6, "result7": $c6*$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_double/multiply_double.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_double/multiply_double.3.query.aql
index 3e74b2d..b28a063 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_double/multiply_double.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_double/multiply_double.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_multiply_double.adm";
-
 let $c1 := int8("+1")
 let $c2 := int16("2")
 let $c3 := int32("+3")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_float/multiply_float.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_float/multiply_float.1.ddl.aql
index 64a5601..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_float/multiply_float.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_float/multiply_float.1.ddl.aql
@@ -1,15 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_multiply_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c5*$c1,"result2": $c5*$c2,"result3": $c5*$c3,"result4": $c5*$c4,"result5": $c5*$c5, "result6": $c5*$c6, "result7": $c6*$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_float/multiply_float.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_float/multiply_float.2.update.aql
index 64a5601..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_float/multiply_float.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_float/multiply_float.2.update.aql
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_multiply_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c5*$c1,"result2": $c5*$c2,"result3": $c5*$c3,"result4": $c5*$c4,"result5": $c5*$c5, "result6": $c5*$c6, "result7": $c6*$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_float/multiply_float.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_float/multiply_float.3.query.aql
index 64a5601..eff6419 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_float/multiply_float.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_float/multiply_float.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_multiply_float.adm";
-
 let $c1 := int8("+1")
 let $c2 := int16("2")
 let $c3 := int32("+3")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int16/multiply_int16.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int16/multiply_int16.1.ddl.aql
index 18c3dd8..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int16/multiply_int16.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int16/multiply_int16.1.ddl.aql
@@ -1,15 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_multiply_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c2*$c1,"result2": $c2*$c2,"result3": $c2*$c3,"result4": $c2*$c4,"result5": $c2*$c5, "result6": $c2*$c6, "result7": $c6*$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int16/multiply_int16.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int16/multiply_int16.2.update.aql
index 18c3dd8..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int16/multiply_int16.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int16/multiply_int16.2.update.aql
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_multiply_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c2*$c1,"result2": $c2*$c2,"result3": $c2*$c3,"result4": $c2*$c4,"result5": $c2*$c5, "result6": $c2*$c6, "result7": $c6*$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int16/multiply_int16.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int16/multiply_int16.3.query.aql
index 18c3dd8..fa32d80 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int16/multiply_int16.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int16/multiply_int16.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_multiply_int16.adm";
-
 let $c1 := int8("+1")
 let $c2 := int16("2")
 let $c3 := int32("+3")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int32/multiply_int32.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int32/multiply_int32.1.ddl.aql
index 72d29c3..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int32/multiply_int32.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int32/multiply_int32.1.ddl.aql
@@ -1,15 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_multiply_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c3*$c1,"result2": $c3*$c2,"result3": $c3*$c3,"result4": $c3*$c4,"result5": $c3*$c5, "result6": $c3*$c6, "result7": $c6*$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int32/multiply_int32.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int32/multiply_int32.2.update.aql
index 72d29c3..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int32/multiply_int32.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int32/multiply_int32.2.update.aql
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_multiply_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c3*$c1,"result2": $c3*$c2,"result3": $c3*$c3,"result4": $c3*$c4,"result5": $c3*$c5, "result6": $c3*$c6, "result7": $c6*$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int32/multiply_int32.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int32/multiply_int32.3.query.aql
index 72d29c3..ba40d6e 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int32/multiply_int32.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int32/multiply_int32.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_multiply_int32.adm";
-
 let $c1 := int8("+1")
 let $c2 := int16("2")
 let $c3 := int32("+3")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int64/multiply_int64.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int64/multiply_int64.1.ddl.aql
index c734dc7..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int64/multiply_int64.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int64/multiply_int64.1.ddl.aql
@@ -1,15 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_multiply_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c4*$c1,"result2": $c4*$c2,"result3": $c4*$c3,"result4": $c4*$c4,"result5": $c4*$c5, "result6": $c4*$c6, "result7": $c6*$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int64/multiply_int64.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int64/multiply_int64.2.update.aql
index c734dc7..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int64/multiply_int64.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int64/multiply_int64.2.update.aql
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_multiply_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c4*$c1,"result2": $c4*$c2,"result3": $c4*$c3,"result4": $c4*$c4,"result5": $c4*$c5, "result6": $c4*$c6, "result7": $c6*$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int64/multiply_int64.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int64/multiply_int64.3.query.aql
index c734dc7..3d68417 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int64/multiply_int64.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int64/multiply_int64.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_multiply_int64.adm";
-
 let $c1 := int8("+1")
 let $c2 := int16("2")
 let $c3 := int32("+3")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int8/multiply_int8.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int8/multiply_int8.1.ddl.aql
index f65b61d..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int8/multiply_int8.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int8/multiply_int8.1.ddl.aql
@@ -1,15 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_multiply_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c1*$c1,"result2": $c1*$c2,"result3": $c1*$c3,"result4": $c1*$c4,"result5": $c1*$c5, "result6": $c1*$c6, "result7": $c6*$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int8/multiply_int8.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int8/multiply_int8.2.update.aql
index f65b61d..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int8/multiply_int8.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int8/multiply_int8.2.update.aql
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_multiply_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c1*$c1,"result2": $c1*$c2,"result3": $c1*$c3,"result4": $c1*$c4,"result5": $c1*$c5, "result6": $c1*$c6, "result7": $c6*$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int8/multiply_int8.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int8/multiply_int8.3.query.aql
index f65b61d..12f0792 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int8/multiply_int8.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/multiply_int8/multiply_int8.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_multiply_int8.adm";
-
 let $c1 := int8("+1")
 let $c2 := int16("2")
 let $c3 := int32("+3")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even0/round-half-to-even0.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even0/round-half-to-even0.1.ddl.aql
index 25232d0..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even0/round-half-to-even0.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even0/round-half-to-even0.1.ddl.aql
@@ -1,17 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_round-half-to-even0.adm";
-
-
-let $c0 := int8("-0")
-let $c1 := int16("-0")
-let $c2 := int32("-0")
-let $c3 := int64("-0")
-let $c4 := int8("0")
-let $c5 := int16("0")
-let $c6 := int32("0")
-let $c7 := int64("0")
-return {"f0": numeric-round-half-to-even($c0), "f1": numeric-round-half-to-even($c1),"f2": numeric-round-half-to-even($c2), "f3": numeric-round-half-to-even($c3),
-	"f4": numeric-round-half-to-even($c4),"f5": numeric-round-half-to-even($c5) ,"f6": numeric-round-half-to-even($c6), "f7": numeric-round-half-to-even($c7)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even0/round-half-to-even0.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even0/round-half-to-even0.2.update.aql
index 25232d0..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even0/round-half-to-even0.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even0/round-half-to-even0.2.update.aql
@@ -1,17 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_round-half-to-even0.adm";
-
-
-let $c0 := int8("-0")
-let $c1 := int16("-0")
-let $c2 := int32("-0")
-let $c3 := int64("-0")
-let $c4 := int8("0")
-let $c5 := int16("0")
-let $c6 := int32("0")
-let $c7 := int64("0")
-return {"f0": numeric-round-half-to-even($c0), "f1": numeric-round-half-to-even($c1),"f2": numeric-round-half-to-even($c2), "f3": numeric-round-half-to-even($c3),
-	"f4": numeric-round-half-to-even($c4),"f5": numeric-round-half-to-even($c5) ,"f6": numeric-round-half-to-even($c6), "f7": numeric-round-half-to-even($c7)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even0/round-half-to-even0.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even0/round-half-to-even0.3.query.aql
index 25232d0..6c5e177 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even0/round-half-to-even0.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even0/round-half-to-even0.3.query.aql
@@ -1,10 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_round-half-to-even0.adm";
-
-
 let $c0 := int8("-0")
 let $c1 := int16("-0")
 let $c2 := int32("-0")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even1/round-half-to-even1.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even1/round-half-to-even1.1.ddl.aql
index eeccdd7..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even1/round-half-to-even1.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even1/round-half-to-even1.1.ddl.aql
@@ -1,17 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_round-half-to-even1.adm";
-
-
-let $c0 := int8("-20")
-let $c1 := int16("-23")
-let $c2 := int32("-29")
-let $c3 := int64("-21")
-let $c4 := int8("20")
-let $c5 := int16("22")
-let $c6 := int32("23")
-let $c7 := int64("27")
-return {"f0": numeric-round-half-to-even($c0), "f1": numeric-round-half-to-even($c1),"f2": numeric-round-half-to-even($c2), "f3": numeric-round-half-to-even($c3),
-	"f4": numeric-round-half-to-even($c4),"f5": numeric-round-half-to-even($c5) ,"f6": numeric-round-half-to-even($c6), "f7": numeric-round-half-to-even($c7)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even1/round-half-to-even1.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even1/round-half-to-even1.2.update.aql
index eeccdd7..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even1/round-half-to-even1.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even1/round-half-to-even1.2.update.aql
@@ -1,17 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_round-half-to-even1.adm";
-
-
-let $c0 := int8("-20")
-let $c1 := int16("-23")
-let $c2 := int32("-29")
-let $c3 := int64("-21")
-let $c4 := int8("20")
-let $c5 := int16("22")
-let $c6 := int32("23")
-let $c7 := int64("27")
-return {"f0": numeric-round-half-to-even($c0), "f1": numeric-round-half-to-even($c1),"f2": numeric-round-half-to-even($c2), "f3": numeric-round-half-to-even($c3),
-	"f4": numeric-round-half-to-even($c4),"f5": numeric-round-half-to-even($c5) ,"f6": numeric-round-half-to-even($c6), "f7": numeric-round-half-to-even($c7)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even1/round-half-to-even1.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even1/round-half-to-even1.3.query.aql
index eeccdd7..271b0c3 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even1/round-half-to-even1.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even1/round-half-to-even1.3.query.aql
@@ -1,10 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_round-half-to-even1.adm";
-
-
 let $c0 := int8("-20")
 let $c1 := int16("-23")
 let $c2 := int32("-29")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even2/round-half-to-even2.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even2/round-half-to-even2.1.ddl.aql
index 8b339ba..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even2/round-half-to-even2.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even2/round-half-to-even2.1.ddl.aql
@@ -1,16 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_round-half-to-even2.adm";
-
-
-let $c0 := float("0.5")
-let $c1 := float("-20.5")
-let $c2 := float("NaN")
-let $c3 := float("INF")
-let $c4 := float("-INF")
-let $c5 := float("-0.0")
-let $c6 := float("0.0")
-return {"f0": numeric-round-half-to-even($c0), "f1": numeric-round-half-to-even($c1),"f2": numeric-round-half-to-even($c2),
-        "f3": numeric-round-half-to-even($c3),"f4": numeric-round-half-to-even($c4),"f5": numeric-round-half-to-even($c5), "f6": numeric-round-half-to-even($c6)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even2/round-half-to-even2.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even2/round-half-to-even2.2.update.aql
index 8b339ba..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even2/round-half-to-even2.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even2/round-half-to-even2.2.update.aql
@@ -1,16 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_round-half-to-even2.adm";
-
-
-let $c0 := float("0.5")
-let $c1 := float("-20.5")
-let $c2 := float("NaN")
-let $c3 := float("INF")
-let $c4 := float("-INF")
-let $c5 := float("-0.0")
-let $c6 := float("0.0")
-return {"f0": numeric-round-half-to-even($c0), "f1": numeric-round-half-to-even($c1),"f2": numeric-round-half-to-even($c2),
-        "f3": numeric-round-half-to-even($c3),"f4": numeric-round-half-to-even($c4),"f5": numeric-round-half-to-even($c5), "f6": numeric-round-half-to-even($c6)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even2/round-half-to-even2.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even2/round-half-to-even2.3.query.aql
index 8b339ba..f420b2a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even2/round-half-to-even2.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even2/round-half-to-even2.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_round-half-to-even2.adm";
-
 
 let $c0 := float("0.5")
 let $c1 := float("-20.5")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even20/round-half-to-even20.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even20/round-half-to-even20.1.ddl.aql
index 92088b4..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even20/round-half-to-even20.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even20/round-half-to-even20.1.ddl.aql
@@ -1,17 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_round-half-to-even20.adm";
-
-
-let $c0 := int8("-0")
-let $c1 := int16("-0")
-let $c2 := int32("-0")
-let $c3 := int64("-0")
-let $c4 := int8("0")
-let $c5 := int16("0")
-let $c6 := int32("0")
-let $c7 := int64("0")
-return {"f0": numeric-round-half-to-even2($c0,2), "f1": numeric-round-half-to-even2($c1,2),"f2": numeric-round-half-to-even2($c2,2), "f3": numeric-round-half-to-even2($c3,2),
-	"f4": numeric-round-half-to-even2($c4,2),"f5": numeric-round-half-to-even2($c5,2) ,"f6": numeric-round-half-to-even2($c6,2), "f7": numeric-round-half-to-even2($c7,2)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even20/round-half-to-even20.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even20/round-half-to-even20.2.update.aql
index 92088b4..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even20/round-half-to-even20.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even20/round-half-to-even20.2.update.aql
@@ -1,17 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_round-half-to-even20.adm";
-
-
-let $c0 := int8("-0")
-let $c1 := int16("-0")
-let $c2 := int32("-0")
-let $c3 := int64("-0")
-let $c4 := int8("0")
-let $c5 := int16("0")
-let $c6 := int32("0")
-let $c7 := int64("0")
-return {"f0": numeric-round-half-to-even2($c0,2), "f1": numeric-round-half-to-even2($c1,2),"f2": numeric-round-half-to-even2($c2,2), "f3": numeric-round-half-to-even2($c3,2),
-	"f4": numeric-round-half-to-even2($c4,2),"f5": numeric-round-half-to-even2($c5,2) ,"f6": numeric-round-half-to-even2($c6,2), "f7": numeric-round-half-to-even2($c7,2)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even20/round-half-to-even20.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even20/round-half-to-even20.3.query.aql
index 92088b4..462de75 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even20/round-half-to-even20.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even20/round-half-to-even20.3.query.aql
@@ -1,10 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_round-half-to-even20.adm";
-
-
 let $c0 := int8("-0")
 let $c1 := int16("-0")
 let $c2 := int32("-0")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even21/round-half-to-even21.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even21/round-half-to-even21.1.ddl.aql
index c00cc25..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even21/round-half-to-even21.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even21/round-half-to-even21.1.ddl.aql
@@ -1,17 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_round-half-to-even21.adm";
-
-
-let $c0 := int8("-20")
-let $c1 := int16("-23")
-let $c2 := int32("-29")
-let $c3 := int64("-21")
-let $c4 := int8("20")
-let $c5 := int16("22")
-let $c6 := int32("23")
-let $c7 := int64("27")
-return {"f0": numeric-round-half-to-even2($c0,2), "f1": numeric-round-half-to-even2($c1,2),"f2": numeric-round-half-to-even2($c2,2), "f3": numeric-round-half-to-even2($c3,2),
-	"f4": numeric-round-half-to-even2($c4,2),"f5": numeric-round-half-to-even2($c5,2) ,"f6": numeric-round-half-to-even2($c6,2), "f7": numeric-round-half-to-even2($c7,2)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even21/round-half-to-even21.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even21/round-half-to-even21.2.update.aql
index c00cc25..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even21/round-half-to-even21.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even21/round-half-to-even21.2.update.aql
@@ -1,17 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_round-half-to-even21.adm";
-
-
-let $c0 := int8("-20")
-let $c1 := int16("-23")
-let $c2 := int32("-29")
-let $c3 := int64("-21")
-let $c4 := int8("20")
-let $c5 := int16("22")
-let $c6 := int32("23")
-let $c7 := int64("27")
-return {"f0": numeric-round-half-to-even2($c0,2), "f1": numeric-round-half-to-even2($c1,2),"f2": numeric-round-half-to-even2($c2,2), "f3": numeric-round-half-to-even2($c3,2),
-	"f4": numeric-round-half-to-even2($c4,2),"f5": numeric-round-half-to-even2($c5,2) ,"f6": numeric-round-half-to-even2($c6,2), "f7": numeric-round-half-to-even2($c7,2)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even21/round-half-to-even21.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even21/round-half-to-even21.3.query.aql
index c00cc25..6847ed7 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even21/round-half-to-even21.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even21/round-half-to-even21.3.query.aql
@@ -1,10 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_round-half-to-even21.adm";
-
-
 let $c0 := int8("-20")
 let $c1 := int16("-23")
 let $c2 := int32("-29")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even22/round-half-to-even22.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even22/round-half-to-even22.1.ddl.aql
index 22ff5ad..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even22/round-half-to-even22.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even22/round-half-to-even22.1.ddl.aql
@@ -1,16 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_round-half-to-even22.adm";
-
-
-let $c0 := float("0.555")
-let $c1 := float("0.322")
-let $c2 := float("NaN")
-let $c3 := float("INF")
-let $c4 := float("-INF")
-let $c5 := float("-0.0")
-let $c6 := float("0.0")
-return {"d0": numeric-round-half-to-even2($c0,2), "d1": numeric-round-half-to-even2($c1,2),"d2": numeric-round-half-to-even2($c2,3),
-        "d3": numeric-round-half-to-even2($c3,4),"d4": numeric-round-half-to-even2($c4,5),"d5": numeric-round-half-to-even2($c5,6), "d6": numeric-round-half-to-even2($c6,0)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even22/round-half-to-even22.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even22/round-half-to-even22.2.update.aql
index 22ff5ad..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even22/round-half-to-even22.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even22/round-half-to-even22.2.update.aql
@@ -1,16 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_round-half-to-even22.adm";
-
-
-let $c0 := float("0.555")
-let $c1 := float("0.322")
-let $c2 := float("NaN")
-let $c3 := float("INF")
-let $c4 := float("-INF")
-let $c5 := float("-0.0")
-let $c6 := float("0.0")
-return {"d0": numeric-round-half-to-even2($c0,2), "d1": numeric-round-half-to-even2($c1,2),"d2": numeric-round-half-to-even2($c2,3),
-        "d3": numeric-round-half-to-even2($c3,4),"d4": numeric-round-half-to-even2($c4,5),"d5": numeric-round-half-to-even2($c5,6), "d6": numeric-round-half-to-even2($c6,0)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even22/round-half-to-even22.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even22/round-half-to-even22.3.query.aql
index 22ff5ad..9338f10 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even22/round-half-to-even22.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even22/round-half-to-even22.3.query.aql
@@ -1,10 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_round-half-to-even22.adm";
-
-
 let $c0 := float("0.555")
 let $c1 := float("0.322")
 let $c2 := float("NaN")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even23/round-half-to-even23.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even23/round-half-to-even23.1.ddl.aql
index cbbcd10..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even23/round-half-to-even23.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even23/round-half-to-even23.1.ddl.aql
@@ -1,16 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_round-half-to-even23.adm";
-
-
-let $c0 := double("0.555")
-let $c1 := double("0.322")
-let $c2 := double("NaN")
-let $c3 := double("INF")
-let $c4 := double("-INF")
-let $c5 := double("-0.0")
-let $c6 := double("0.0")
-return {"d0": numeric-round-half-to-even2($c0,2), "d1": numeric-round-half-to-even2($c1,2),"d2": numeric-round-half-to-even2($c2,3),
-        "d3": numeric-round-half-to-even2($c3,4),"d4": numeric-round-half-to-even2($c4,5),"d5": numeric-round-half-to-even2($c5,6), "d6": numeric-round-half-to-even2($c6,0)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even23/round-half-to-even23.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even23/round-half-to-even23.2.update.aql
index cbbcd10..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even23/round-half-to-even23.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even23/round-half-to-even23.2.update.aql
@@ -1,16 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_round-half-to-even23.adm";
-
-
-let $c0 := double("0.555")
-let $c1 := double("0.322")
-let $c2 := double("NaN")
-let $c3 := double("INF")
-let $c4 := double("-INF")
-let $c5 := double("-0.0")
-let $c6 := double("0.0")
-return {"d0": numeric-round-half-to-even2($c0,2), "d1": numeric-round-half-to-even2($c1,2),"d2": numeric-round-half-to-even2($c2,3),
-        "d3": numeric-round-half-to-even2($c3,4),"d4": numeric-round-half-to-even2($c4,5),"d5": numeric-round-half-to-even2($c5,6), "d6": numeric-round-half-to-even2($c6,0)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even23/round-half-to-even23.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even23/round-half-to-even23.3.query.aql
index cbbcd10..c7260ab 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even23/round-half-to-even23.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even23/round-half-to-even23.3.query.aql
@@ -1,10 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_round-half-to-even23.adm";
-
-
 let $c0 := double("0.555")
 let $c1 := double("0.322")
 let $c2 := double("NaN")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even24/round-half-to-even24.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even24/round-half-to-even24.1.ddl.aql
index 8fe21fe..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even24/round-half-to-even24.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even24/round-half-to-even24.1.ddl.aql
@@ -1,14 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_round-half-to-even24.adm";
-
-
-let $c0 := double("0.015")
-let $c1 := double("0.025")
-let $c2 := double("3.567812E+3")
-let $c3 := double("4.7564E-3")
-let $c4 := double("35612.25")
-return {"d0": numeric-round-half-to-even2($c0,2), "d1": numeric-round-half-to-even2($c1,2),"d2": numeric-round-half-to-even2($c2,2),
-        "d3": numeric-round-half-to-even2($c3,2),"d4": numeric-round-half-to-even2($c4,-2)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even24/round-half-to-even24.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even24/round-half-to-even24.2.update.aql
index 8fe21fe..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even24/round-half-to-even24.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even24/round-half-to-even24.2.update.aql
@@ -1,14 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_round-half-to-even24.adm";
-
-
-let $c0 := double("0.015")
-let $c1 := double("0.025")
-let $c2 := double("3.567812E+3")
-let $c3 := double("4.7564E-3")
-let $c4 := double("35612.25")
-return {"d0": numeric-round-half-to-even2($c0,2), "d1": numeric-round-half-to-even2($c1,2),"d2": numeric-round-half-to-even2($c2,2),
-        "d3": numeric-round-half-to-even2($c3,2),"d4": numeric-round-half-to-even2($c4,-2)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even24/round-half-to-even24.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even24/round-half-to-even24.3.query.aql
index 8fe21fe..8a2d135 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even24/round-half-to-even24.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even24/round-half-to-even24.3.query.aql
@@ -1,10 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_round-half-to-even24.adm";
-
-
 let $c0 := double("0.015")
 let $c1 := double("0.025")
 let $c2 := double("3.567812E+3")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even3/round-half-to-even3.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even3/round-half-to-even3.1.ddl.aql
index 6d10ae1..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even3/round-half-to-even3.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even3/round-half-to-even3.1.ddl.aql
@@ -1,16 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_round-half-to-even3.adm";
-
-
-let $c0 := double("0.5")
-let $c1 := double("-20.5")
-let $c2 := double("NaN")
-let $c3 := double("INF")
-let $c4 := double("-INF")
-let $c5 := double("-0.0")
-let $c6 := double("0.0")
-return {"d0": numeric-round-half-to-even($c0), "d1": numeric-round-half-to-even($c1), "d2": numeric-round-half-to-even($c2),
-        "d3": numeric-round-half-to-even($c3), "d4": numeric-round-half-to-even($c4), "d5": numeric-round-half-to-even($c5), "d6": numeric-round-half-to-even($c6)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even3/round-half-to-even3.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even3/round-half-to-even3.2.update.aql
index 6d10ae1..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even3/round-half-to-even3.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even3/round-half-to-even3.2.update.aql
@@ -1,16 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_round-half-to-even3.adm";
-
-
-let $c0 := double("0.5")
-let $c1 := double("-20.5")
-let $c2 := double("NaN")
-let $c3 := double("INF")
-let $c4 := double("-INF")
-let $c5 := double("-0.0")
-let $c6 := double("0.0")
-return {"d0": numeric-round-half-to-even($c0), "d1": numeric-round-half-to-even($c1), "d2": numeric-round-half-to-even($c2),
-        "d3": numeric-round-half-to-even($c3), "d4": numeric-round-half-to-even($c4), "d5": numeric-round-half-to-even($c5), "d6": numeric-round-half-to-even($c6)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even3/round-half-to-even3.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even3/round-half-to-even3.3.query.aql
index 6d10ae1..e9c4587 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even3/round-half-to-even3.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even3/round-half-to-even3.3.query.aql
@@ -1,10 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_round-half-to-even3.adm";
-
-
 let $c0 := double("0.5")
 let $c1 := double("-20.5")
 let $c2 := double("NaN")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even4/round-half-to-even4.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even4/round-half-to-even4.1.ddl.aql
index 3c24b0b..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even4/round-half-to-even4.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even4/round-half-to-even4.1.ddl.aql
@@ -1,10 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_round-half-to-even4.adm";
-
-
-let $c0 := double("1.5")
-let $c1 := double("2.5")
-return {"d0": numeric-round-half-to-even($c0), "d1": numeric-round-half-to-even($c1)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even4/round-half-to-even4.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even4/round-half-to-even4.2.update.aql
index 3c24b0b..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even4/round-half-to-even4.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even4/round-half-to-even4.2.update.aql
@@ -1,10 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_round-half-to-even4.adm";
-
-
-let $c0 := double("1.5")
-let $c1 := double("2.5")
-return {"d0": numeric-round-half-to-even($c0), "d1": numeric-round-half-to-even($c1)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even4/round-half-to-even4.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even4/round-half-to-even4.3.query.aql
index 3c24b0b..b678603 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even4/round-half-to-even4.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even4/round-half-to-even4.3.query.aql
@@ -1,10 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_round-half-to-even4.adm";
-
-
 let $c0 := double("1.5")
 let $c1 := double("2.5")
 return {"d0": numeric-round-half-to-even($c0), "d1": numeric-round-half-to-even($c1)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even5/round-half-to-even5.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even5/round-half-to-even5.1.ddl.aql
index b89388f..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even5/round-half-to-even5.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even5/round-half-to-even5.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_round-half-to-even5.adm";
-
-let $c0 := int8("-20")
-return {"f0": numeric-round-half-to-even($c0), "f1": numeric-round-half-to-even(-1.5),"f2": numeric-round-half-to-even(12.5), "f3": numeric-round-half-to-even(1.5)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even5/round-half-to-even5.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even5/round-half-to-even5.2.update.aql
index b89388f..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even5/round-half-to-even5.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even5/round-half-to-even5.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_round-half-to-even5.adm";
-
-let $c0 := int8("-20")
-return {"f0": numeric-round-half-to-even($c0), "f1": numeric-round-half-to-even(-1.5),"f2": numeric-round-half-to-even(12.5), "f3": numeric-round-half-to-even(1.5)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even5/round-half-to-even5.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even5/round-half-to-even5.3.query.aql
index b89388f..63a6acd 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even5/round-half-to-even5.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even5/round-half-to-even5.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_round-half-to-even5.adm";
-
 let $c0 := int8("-20")
 return {"f0": numeric-round-half-to-even($c0), "f1": numeric-round-half-to-even(-1.5),"f2": numeric-round-half-to-even(12.5), "f3": numeric-round-half-to-even(1.5)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round0/round0.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round0/round0.1.ddl.aql
index 37887e5..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round0/round0.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round0/round0.1.ddl.aql
@@ -1,17 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_round0.adm";
-
-
-let $c0 := int8("-0")
-let $c1 := int16("-0")
-let $c2 := int32("-0")
-let $c3 := int64("-0")
-let $c4 := int8("0")
-let $c5 := int16("0")
-let $c6 := int32("0")
-let $c7 := int64("0")
-return {"f0": numeric-round($c0), "f1": numeric-round($c1),"f2": numeric-round($c2), "f3": numeric-round($c3),
-	"f4": numeric-round($c4),"f5": numeric-round($c5) ,"f6": numeric-round($c6), "f7": numeric-round($c7)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round0/round0.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round0/round0.2.update.aql
index 37887e5..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round0/round0.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round0/round0.2.update.aql
@@ -1,17 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_round0.adm";
-
-
-let $c0 := int8("-0")
-let $c1 := int16("-0")
-let $c2 := int32("-0")
-let $c3 := int64("-0")
-let $c4 := int8("0")
-let $c5 := int16("0")
-let $c6 := int32("0")
-let $c7 := int64("0")
-return {"f0": numeric-round($c0), "f1": numeric-round($c1),"f2": numeric-round($c2), "f3": numeric-round($c3),
-	"f4": numeric-round($c4),"f5": numeric-round($c5) ,"f6": numeric-round($c6), "f7": numeric-round($c7)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round0/round0.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round0/round0.3.query.aql
index 37887e5..3ecd6a7 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round0/round0.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round0/round0.3.query.aql
@@ -1,10 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_round0.adm";
-
-
 let $c0 := int8("-0")
 let $c1 := int16("-0")
 let $c2 := int32("-0")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round1/round1.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round1/round1.1.ddl.aql
index 5c25bf8..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round1/round1.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round1/round1.1.ddl.aql
@@ -1,17 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_round1.adm";
-
-
-let $c0 := int8("-20")
-let $c1 := int16("-23")
-let $c2 := int32("-29")
-let $c3 := int64("-21")
-let $c4 := int8("20")
-let $c5 := int16("22")
-let $c6 := int32("23")
-let $c7 := int64("27")
-return {"f0": numeric-round($c0), "f1": numeric-round($c1),"f2": numeric-round($c2), "f3": numeric-round($c3),
-	"f4": numeric-round($c4),"f5": numeric-round($c5) ,"f6": numeric-round($c6), "f7": numeric-round($c7)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round1/round1.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round1/round1.2.update.aql
index 5c25bf8..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round1/round1.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round1/round1.2.update.aql
@@ -1,17 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_round1.adm";
-
-
-let $c0 := int8("-20")
-let $c1 := int16("-23")
-let $c2 := int32("-29")
-let $c3 := int64("-21")
-let $c4 := int8("20")
-let $c5 := int16("22")
-let $c6 := int32("23")
-let $c7 := int64("27")
-return {"f0": numeric-round($c0), "f1": numeric-round($c1),"f2": numeric-round($c2), "f3": numeric-round($c3),
-	"f4": numeric-round($c4),"f5": numeric-round($c5) ,"f6": numeric-round($c6), "f7": numeric-round($c7)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round1/round1.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round1/round1.3.query.aql
index 5c25bf8..5a66f35 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round1/round1.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round1/round1.3.query.aql
@@ -1,10 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_round1.adm";
-
-
 let $c0 := int8("-20")
 let $c1 := int16("-23")
 let $c2 := int32("-29")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round2/round2.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round2/round2.1.ddl.aql
index e5e75bb..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round2/round2.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round2/round2.1.ddl.aql
@@ -1,16 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_round2.adm";
-
-
-let $c0 := float("20.1")
-let $c1 := float("-20.56e-30")
-let $c2 := float("NaN")
-let $c3 := float("INF")
-let $c4 := float("-INF")
-let $c5 := float("-0.0")
-let $c6 := float("0.0")
-return {"f0": numeric-round($c0), "f1": numeric-round($c1),"f2": numeric-round($c2),
-        "f3": numeric-round($c3),"f4": numeric-round($c4),"f5": numeric-round($c5), "f6": numeric-round($c6)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round2/round2.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round2/round2.2.update.aql
index e5e75bb..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round2/round2.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round2/round2.2.update.aql
@@ -1,16 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_round2.adm";
-
-
-let $c0 := float("20.1")
-let $c1 := float("-20.56e-30")
-let $c2 := float("NaN")
-let $c3 := float("INF")
-let $c4 := float("-INF")
-let $c5 := float("-0.0")
-let $c6 := float("0.0")
-return {"f0": numeric-round($c0), "f1": numeric-round($c1),"f2": numeric-round($c2),
-        "f3": numeric-round($c3),"f4": numeric-round($c4),"f5": numeric-round($c5), "f6": numeric-round($c6)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round2/round2.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round2/round2.3.query.aql
index e5e75bb..941b606 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round2/round2.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round2/round2.3.query.aql
@@ -1,10 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_round2.adm";
-
-
 let $c0 := float("20.1")
 let $c1 := float("-20.56e-30")
 let $c2 := float("NaN")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round3/round3.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round3/round3.1.ddl.aql
index 54e2685..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round3/round3.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round3/round3.1.ddl.aql
@@ -1,16 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_round3.adm";
-
-
-let $c0 := double("20.1")
-let $c1 := double("-20.56e-30")
-let $c2 := double("NaN")
-let $c3 := double("INF")
-let $c4 := double("-INF")
-let $c5 := double("-0.0")
-let $c6 := double("0.0")
-return {"d0": numeric-round($c0), "d1": numeric-round($c1),"d2": numeric-round($c2),
-        "d3": numeric-round($c3),"d4": numeric-round($c4),"d5": numeric-round($c5), "d6": numeric-round($c6)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round3/round3.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round3/round3.2.update.aql
index 54e2685..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round3/round3.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round3/round3.2.update.aql
@@ -1,16 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_round3.adm";
-
-
-let $c0 := double("20.1")
-let $c1 := double("-20.56e-30")
-let $c2 := double("NaN")
-let $c3 := double("INF")
-let $c4 := double("-INF")
-let $c5 := double("-0.0")
-let $c6 := double("0.0")
-return {"d0": numeric-round($c0), "d1": numeric-round($c1),"d2": numeric-round($c2),
-        "d3": numeric-round($c3),"d4": numeric-round($c4),"d5": numeric-round($c5), "d6": numeric-round($c6)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round3/round3.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round3/round3.3.query.aql
index 54e2685..90aa1e4 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round3/round3.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round3/round3.3.query.aql
@@ -1,10 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_round3.adm";
-
-
 let $c0 := double("20.1")
 let $c1 := double("-20.56e-30")
 let $c2 := double("NaN")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round4/round4.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round4/round4.1.ddl.aql
index 5dccfd7..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round4/round4.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round4/round4.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_round4.adm";
-
-let $c0 := int8("-20")
-return {"f0": numeric-round($c0), "f1": numeric-round(-1.11),"f2": numeric-round(12.9), "f3": numeric-round(1.11)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round4/round4.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round4/round4.2.update.aql
index 5dccfd7..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round4/round4.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round4/round4.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_round4.adm";
-
-let $c0 := int8("-20")
-return {"f0": numeric-round($c0), "f1": numeric-round(-1.11),"f2": numeric-round(12.9), "f3": numeric-round(1.11)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/round4/round4.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/round4/round4.3.query.aql
index 5dccfd7..49646b4 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/round4/round4.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/round4/round4.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_round4.adm";
-
 let $c0 := int8("-20")
 return {"f0": numeric-round($c0), "f1": numeric-round(-1.11),"f2": numeric-round(12.9), "f3": numeric-round(1.11)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_double/subtract_double.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_double/subtract_double.1.ddl.aql
index 46115b6..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_double/subtract_double.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_double/subtract_double.1.ddl.aql
@@ -1,15 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_subtract_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c6 -$c1,"result2": $c6 -$c2,"result3": $c6 -$c3,"result4": $c6 -$c4,"result5": $c6 -$c5, "result6": $c6 -$c6, "result7": $c6 -$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_double/subtract_double.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_double/subtract_double.2.update.aql
index 46115b6..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_double/subtract_double.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_double/subtract_double.2.update.aql
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_subtract_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c6 -$c1,"result2": $c6 -$c2,"result3": $c6 -$c3,"result4": $c6 -$c4,"result5": $c6 -$c5, "result6": $c6 -$c6, "result7": $c6 -$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_double/subtract_double.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_double/subtract_double.3.query.aql
index 46115b6..c30a09d 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_double/subtract_double.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_double/subtract_double.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_subtract_double.adm";
-
 let $c1 := int8("+1")
 let $c2 := int16("2")
 let $c3 := int32("+3")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_float/subtract_float.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_float/subtract_float.1.ddl.aql
index e20e43c..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_float/subtract_float.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_float/subtract_float.1.ddl.aql
@@ -1,15 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_subtract_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c5 -$c1,"result2": $c5 -$c2,"result3": $c5 -$c3,"result4": $c5 -$c4,"result5": $c5 -$c5, "result6": $c5 -$c6, "result7": $c6 -$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_float/subtract_float.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_float/subtract_float.2.update.aql
index e20e43c..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_float/subtract_float.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_float/subtract_float.2.update.aql
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_subtract_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c5 -$c1,"result2": $c5 -$c2,"result3": $c5 -$c3,"result4": $c5 -$c4,"result5": $c5 -$c5, "result6": $c5 -$c6, "result7": $c6 -$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_float/subtract_float.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_float/subtract_float.3.query.aql
index e20e43c..db4d076 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_float/subtract_float.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_float/subtract_float.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_subtract_float.adm";
-
 let $c1 := int8("+1")
 let $c2 := int16("2")
 let $c3 := int32("+3")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int16/subtract_int16.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int16/subtract_int16.1.ddl.aql
index 3fea866..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int16/subtract_int16.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int16/subtract_int16.1.ddl.aql
@@ -1,15 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_subtract_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c2 -$c1,"result2": $c2 -$c2,"result3": $c2 -$c3,"result4": $c2 -$c4,"result5": $c2 -$c5, "result6": $c2 -$c6, "result7": $c6 -$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int16/subtract_int16.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int16/subtract_int16.2.update.aql
index 3fea866..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int16/subtract_int16.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int16/subtract_int16.2.update.aql
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_subtract_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c2 -$c1,"result2": $c2 -$c2,"result3": $c2 -$c3,"result4": $c2 -$c4,"result5": $c2 -$c5, "result6": $c2 -$c6, "result7": $c6 -$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int16/subtract_int16.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int16/subtract_int16.3.query.aql
index 3fea866..bdc786c 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int16/subtract_int16.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int16/subtract_int16.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_subtract_int16.adm";
-
 let $c1 := int8("+1")
 let $c2 := int16("2")
 let $c3 := int32("+3")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int32/subtract_int32.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int32/subtract_int32.1.ddl.aql
index b668402..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int32/subtract_int32.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int32/subtract_int32.1.ddl.aql
@@ -1,15 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_subtract_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c3 -$c1,"result2": $c3 -$c2,"result3": $c3 -$c3,"result4": $c3 -$c4,"result5": $c3 -$c5, "result6": $c3 -$c6, "result7": $c6 -$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int32/subtract_int32.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int32/subtract_int32.2.update.aql
index b668402..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int32/subtract_int32.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int32/subtract_int32.2.update.aql
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_subtract_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c3 -$c1,"result2": $c3 -$c2,"result3": $c3 -$c3,"result4": $c3 -$c4,"result5": $c3 -$c5, "result6": $c3 -$c6, "result7": $c6 -$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int32/subtract_int32.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int32/subtract_int32.3.query.aql
index b668402..e280613 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int32/subtract_int32.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int32/subtract_int32.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_subtract_int32.adm";
-
 let $c1 := int8("+1")
 let $c2 := int16("2")
 let $c3 := int32("+3")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int64/subtract_int64.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int64/subtract_int64.1.ddl.aql
index cb8cdda..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int64/subtract_int64.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int64/subtract_int64.1.ddl.aql
@@ -1,15 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_subtract_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c4 -$c1,"result2": $c4 -$c2,"result3": $c4 -$c3,"result4": $c4 -$c4,"result5": $c4 -$c5, "result6": $c4 -$c6, "result7": $c6 -$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int64/subtract_int64.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int64/subtract_int64.2.update.aql
index cb8cdda..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int64/subtract_int64.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int64/subtract_int64.2.update.aql
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_subtract_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c4 -$c1,"result2": $c4 -$c2,"result3": $c4 -$c3,"result4": $c4 -$c4,"result5": $c4 -$c5, "result6": $c4 -$c6, "result7": $c6 -$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int64/subtract_int64.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int64/subtract_int64.3.query.aql
index cb8cdda..53bb82a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int64/subtract_int64.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int64/subtract_int64.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_subtract_int64.adm";
-
 let $c1 := int8("+1")
 let $c2 := int16("2")
 let $c3 := int32("+3")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int8/subtract_int8.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int8/subtract_int8.1.ddl.aql
index f9afed0..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int8/subtract_int8.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int8/subtract_int8.1.ddl.aql
@@ -1,15 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_subtract_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c1 -$c1,"result2": $c1 -$c2,"result3": $c1 -$c3,"result4": $c1 -$c4,"result5": $c1 -$c5, "result6": $c1 -$c6, "result7": $c6 -$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int8/subtract_int8.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int8/subtract_int8.2.update.aql
index f9afed0..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int8/subtract_int8.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int8/subtract_int8.2.update.aql
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_subtract_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 $c7 := [1]
-let $c8 := $c7[1]
-return {"result1": $c1 -$c1,"result2": $c1 -$c2,"result3": $c1 -$c3,"result4": $c1 -$c4,"result5": $c1 -$c5, "result6": $c1 -$c6, "result7": $c6 -$c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int8/subtract_int8.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int8/subtract_int8.3.query.aql
index f9afed0..79d11a7 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int8/subtract_int8.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/subtract_int8/subtract_int8.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_subtract_int8.adm";
-
 let $c1 := int8("+1")
 let $c2 := int16("2")
 let $c3 := int32("+3")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_double_01/unary-minus_double_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_double_01/unary-minus_double_01.1.ddl.aql
index d10860c..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_double_01/unary-minus_double_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_double_01/unary-minus_double_01.1.ddl.aql
@@ -1,11 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_unary-minus_double_01.adm";
-
-let $c1 := double("-20.56e-30")
-let $c2 := double("NaN")
-let $c3 := double("INF")
-let $c4 := double("-INF")
-return {"double1": numeric-unary-minus($c1),"double2": numeric-unary-minus($c2),"double3": numeric-unary-minus($c3),"double4": numeric-unary-minus($c4)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_double_01/unary-minus_double_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_double_01/unary-minus_double_01.2.update.aql
index d10860c..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_double_01/unary-minus_double_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_double_01/unary-minus_double_01.2.update.aql
@@ -1,11 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_unary-minus_double_01.adm";
-
-let $c1 := double("-20.56e-30")
-let $c2 := double("NaN")
-let $c3 := double("INF")
-let $c4 := double("-INF")
-return {"double1": numeric-unary-minus($c1),"double2": numeric-unary-minus($c2),"double3": numeric-unary-minus($c3),"double4": numeric-unary-minus($c4)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_double_01/unary-minus_double_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_double_01/unary-minus_double_01.3.query.aql
index d10860c..169ca39 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_double_01/unary-minus_double_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_double_01/unary-minus_double_01.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_unary-minus_double_01.adm";
-
 let $c1 := double("-20.56e-30")
 let $c2 := double("NaN")
 let $c3 := double("INF")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_double_02/unary-minus_double_02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_double_02/unary-minus_double_02.1.ddl.aql
index e13a929..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_double_02/unary-minus_double_02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_double_02/unary-minus_double_02.1.ddl.aql
@@ -1,11 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_unary-minus_double_02.adm";
-
-let $c1 := double("-20.56e-30")
-let $c2 := double("NaN")
-let $c3 := double("INF")
-let $c4 := double("-INF")
-return {"double1": -$c1,"double2": -$c2,"double3": -$c3,"double4": -$c4}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_double_02/unary-minus_double_02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_double_02/unary-minus_double_02.2.update.aql
index e13a929..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_double_02/unary-minus_double_02.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_double_02/unary-minus_double_02.2.update.aql
@@ -1,11 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_unary-minus_double_02.adm";
-
-let $c1 := double("-20.56e-30")
-let $c2 := double("NaN")
-let $c3 := double("INF")
-let $c4 := double("-INF")
-return {"double1": -$c1,"double2": -$c2,"double3": -$c3,"double4": -$c4}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_double_02/unary-minus_double_02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_double_02/unary-minus_double_02.3.query.aql
index e13a929..faab506 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_double_02/unary-minus_double_02.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_double_02/unary-minus_double_02.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_unary-minus_double_02.adm";
-
 let $c1 := double("-20.56e-30")
 let $c2 := double("NaN")
 let $c3 := double("INF")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_float_01/unary-minus_float_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_float_01/unary-minus_float_01.1.ddl.aql
index fe7d11c..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_float_01/unary-minus_float_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_float_01/unary-minus_float_01.1.ddl.aql
@@ -1,11 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_unary-minus_float_01.adm";
-
-let $c1 := float("-80.20f")
-let $c2 := float("NaN")
-let $c3 := float("INF")
-let $c4 := float("-INF")
-return {"float1": numeric-unary-minus($c1),"float2": numeric-unary-minus($c2),"float3": numeric-unary-minus($c3),"float4": numeric-unary-minus($c4)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_float_01/unary-minus_float_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_float_01/unary-minus_float_01.2.update.aql
index fe7d11c..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_float_01/unary-minus_float_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_float_01/unary-minus_float_01.2.update.aql
@@ -1,11 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_unary-minus_float_01.adm";
-
-let $c1 := float("-80.20f")
-let $c2 := float("NaN")
-let $c3 := float("INF")
-let $c4 := float("-INF")
-return {"float1": numeric-unary-minus($c1),"float2": numeric-unary-minus($c2),"float3": numeric-unary-minus($c3),"float4": numeric-unary-minus($c4)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_float_01/unary-minus_float_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_float_01/unary-minus_float_01.3.query.aql
index fe7d11c..e5e0071 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_float_01/unary-minus_float_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_float_01/unary-minus_float_01.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_unary-minus_float_01.adm";
-
 let $c1 := float("-80.20f")
 let $c2 := float("NaN")
 let $c3 := float("INF")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_float_02/unary-minus_float_02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_float_02/unary-minus_float_02.1.ddl.aql
index 9c0d590..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_float_02/unary-minus_float_02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_float_02/unary-minus_float_02.1.ddl.aql
@@ -1,11 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_unary-minus_float_02.adm";
-
-let $c1 := float("-80.20f")
-let $c2 := float("NaN")
-let $c3 := float("INF")
-let $c4 := float("-INF")
-return {"float1": -$c1,"float2": -$c2,"float3": -$c3,"float4": -$c4}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_float_02/unary-minus_float_02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_float_02/unary-minus_float_02.2.update.aql
index 9c0d590..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_float_02/unary-minus_float_02.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_float_02/unary-minus_float_02.2.update.aql
@@ -1,11 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_unary-minus_float_02.adm";
-
-let $c1 := float("-80.20f")
-let $c2 := float("NaN")
-let $c3 := float("INF")
-let $c4 := float("-INF")
-return {"float1": -$c1,"float2": -$c2,"float3": -$c3,"float4": -$c4}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_float_02/unary-minus_float_02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_float_02/unary-minus_float_02.3.query.aql
index 9c0d590..a57e8a0 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_float_02/unary-minus_float_02.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_float_02/unary-minus_float_02.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_unary-minus_float_02.adm";
-
 let $c1 := float("-80.20f")
 let $c2 := float("NaN")
 let $c3 := float("INF")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_int_01/unary-minus_int_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_int_01/unary-minus_int_01.1.ddl.aql
index 10a5b69..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_int_01/unary-minus_int_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_int_01/unary-minus_int_01.1.ddl.aql
@@ -1,11 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_unary-minus_int_01.adm";
-
-let $c1 := int8("+80")
-let $c2 := int16("160")
-let $c3 := int32("+320")
-let $c4 := int64("-640")
-return {"int8": numeric-unary-minus($c1),"int16": numeric-unary-minus($c2),"int32": numeric-unary-minus($c3),"int64": numeric-unary-minus($c4)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_int_01/unary-minus_int_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_int_01/unary-minus_int_01.2.update.aql
index 10a5b69..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_int_01/unary-minus_int_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_int_01/unary-minus_int_01.2.update.aql
@@ -1,11 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_unary-minus_int_01.adm";
-
-let $c1 := int8("+80")
-let $c2 := int16("160")
-let $c3 := int32("+320")
-let $c4 := int64("-640")
-return {"int8": numeric-unary-minus($c1),"int16": numeric-unary-minus($c2),"int32": numeric-unary-minus($c3),"int64": numeric-unary-minus($c4)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_int_01/unary-minus_int_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_int_01/unary-minus_int_01.3.query.aql
index 10a5b69..660e55f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_int_01/unary-minus_int_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_int_01/unary-minus_int_01.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_unary-minus_int_01.adm";
-
 let $c1 := int8("+80")
 let $c2 := int16("160")
 let $c3 := int32("+320")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_int_02/unary-minus_int_02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_int_02/unary-minus_int_02.1.ddl.aql
index 58acf8b..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_int_02/unary-minus_int_02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_int_02/unary-minus_int_02.1.ddl.aql
@@ -1,11 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/numeric_unary-minus_int_02.adm";
-
-let $c1 := int8("+80")
-let $c2 := int16("160")
-let $c3 := int32("+320")
-let $c4 := int64("-640")
-return {"int8": -$c1,"int16": -$c2,"int32": -$c3,"int64": -$c4}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_int_02/unary-minus_int_02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_int_02/unary-minus_int_02.2.update.aql
index 58acf8b..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_int_02/unary-minus_int_02.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_int_02/unary-minus_int_02.2.update.aql
@@ -1,11 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_unary-minus_int_02.adm";
-
-let $c1 := int8("+80")
-let $c2 := int16("160")
-let $c3 := int32("+320")
-let $c4 := int64("-640")
-return {"int8": -$c1,"int16": -$c2,"int32": -$c3,"int64": -$c4}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_int_02/unary-minus_int_02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_int_02/unary-minus_int_02.3.query.aql
index 58acf8b..2a9e116 100644
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_int_02/unary-minus_int_02.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_int_02/unary-minus_int_02.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/numeric_unary-minus_int_02.adm";
-
 let $c1 := int8("+80")
 let $c2 := int16("160")
 let $c3 := int32("+320")
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_nu/unary-minus_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_nu/unary-minus_nu.1.ddl.aql
deleted file mode 100644
index 13b3e26..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_nu/unary-minus_nu.1.ddl.aql
+++ /dev/null
@@ -1,9 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_unary-minus_null.adm";
-
-let $l := [1]
-let $c := $l[1]
-return {"nullField": -$c}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_nu/unary-minus_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_nu/unary-minus_nu.2.update.aql
deleted file mode 100644
index 13b3e26..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_nu/unary-minus_nu.2.update.aql
+++ /dev/null
@@ -1,9 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_unary-minus_null.adm";
-
-let $l := [1]
-let $c := $l[1]
-return {"nullField": -$c}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_nu/unary-minus_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_nu/unary-minus_nu.3.query.aql
deleted file mode 100644
index 13b3e26..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_nu/unary-minus_nu.3.query.aql
+++ /dev/null
@@ -1,9 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/numeric_unary-minus_null.adm";
-
-let $l := [1]
-let $c := $l[1]
-return {"nullField": -$c}
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_null/unary-minus_null.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_null/unary-minus_null.1.ddl.aql
new file mode 100644
index 0000000..754ea81
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_null/unary-minus_null.1.ddl.aql
@@ -0,0 +1,3 @@
+drop dataverse test if exists;
+create dataverse test;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_null/unary-minus_null.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_null/unary-minus_null.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_null/unary-minus_null.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_null/unary-minus_null.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_null/unary-minus_null.3.query.aql
new file mode 100644
index 0000000..411d370
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/unary-minus_null/unary-minus_null.3.query.aql
@@ -0,0 +1,5 @@
+use dataverse test;
+
+let $l := [1]
+let $c := $l[1]
+return {"nullField": -$c}
diff --git a/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_01/everysat_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_01/everysat_01.1.ddl.aql
index 05973fa..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_01/everysat_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_01/everysat_01.1.ddl.aql
@@ -1,10 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/quantifiers_everysat_01.adm";
-
-for $x in [10, -30]
-where every $y in [-20, -10]
-      satisfies $y > $x
-return $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_01/everysat_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_01/everysat_01.2.update.aql
index 05973fa..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_01/everysat_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_01/everysat_01.2.update.aql
@@ -1,10 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/quantifiers_everysat_01.adm";
-
-for $x in [10, -30]
-where every $y in [-20, -10]
-      satisfies $y > $x
-return $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_01/everysat_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_01/everysat_01.3.query.aql
index 05973fa..1c6d301 100644
--- a/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_01/everysat_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_01/everysat_01.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/quantifiers_everysat_01.adm";
-
 for $x in [10, -30]
 where every $y in [-20, -10]
       satisfies $y > $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_02/everysat_02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_02/everysat_02.1.ddl.aql
index bd52181..feac764 100644
--- a/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_02/everysat_02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_02/everysat_02.1.ddl.aql
@@ -5,21 +5,3 @@
  * Date             : 5th July 2012
  */
 
-write output to nc1:"rttest/quantifiers_everysat_02.adm";
-
-let $a := [
-every $x in [1, 2] satisfies $x + $x = 3,
-every $x in [1, 1] satisfies $x + $x = 2,
-every $x in [1, 2] satisfies $x - 2 = 2,
-every $x in [2, 2] satisfies $x - 2 = 0,
-every $x in [1, 2] satisfies $x * 2 = 4,
-every $x in [1, 2] satisfies $x / 2 = 1,
-every $x in [1, 2] satisfies $x = 1 or $x = 2,
-every $x in [1, 2] satisfies $x = 1 and ($x +1) = 2,
-every $x in ["A","B","C"] satisfies $x = "A",
-every $x in [1,2,3], $y in [4,5,6] satisfies $x + $y = 5,
-every $x in [1,2,3], $y in [4,5,6] satisfies $x - $y = 5,
-every $x in [1,2,3], $y in [4,5,6] satisfies $x * $y = 10
-]
-for $i in $a
-return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_02/everysat_02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_02/everysat_02.2.update.aql
index bd52181..feac764 100644
--- a/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_02/everysat_02.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_02/everysat_02.2.update.aql
@@ -5,21 +5,3 @@
  * Date             : 5th July 2012
  */
 
-write output to nc1:"rttest/quantifiers_everysat_02.adm";
-
-let $a := [
-every $x in [1, 2] satisfies $x + $x = 3,
-every $x in [1, 1] satisfies $x + $x = 2,
-every $x in [1, 2] satisfies $x - 2 = 2,
-every $x in [2, 2] satisfies $x - 2 = 0,
-every $x in [1, 2] satisfies $x * 2 = 4,
-every $x in [1, 2] satisfies $x / 2 = 1,
-every $x in [1, 2] satisfies $x = 1 or $x = 2,
-every $x in [1, 2] satisfies $x = 1 and ($x +1) = 2,
-every $x in ["A","B","C"] satisfies $x = "A",
-every $x in [1,2,3], $y in [4,5,6] satisfies $x + $y = 5,
-every $x in [1,2,3], $y in [4,5,6] satisfies $x - $y = 5,
-every $x in [1,2,3], $y in [4,5,6] satisfies $x * $y = 10
-]
-for $i in $a
-return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_02/everysat_02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_02/everysat_02.3.query.aql
index bd52181..62829aa 100644
--- a/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_02/everysat_02.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_02/everysat_02.3.query.aql
@@ -5,8 +5,6 @@
  * Date             : 5th July 2012
  */
 
-write output to nc1:"rttest/quantifiers_everysat_02.adm";
-
 let $a := [
 every $x in [1, 2] satisfies $x + $x = 3,
 every $x in [1, 1] satisfies $x + $x = 2,
diff --git a/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_03/everysat_03.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_03/everysat_03.1.ddl.aql
index 99b4844..feac764 100644
--- a/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_03/everysat_03.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_03/everysat_03.1.ddl.aql
@@ -5,25 +5,3 @@
  * Date             : 5th July 2012
  */
 
-write output to nc1:"rttest/quantifiers_everysat_02.adm";
-
-let $a := [
-every $x in [1, 2] satisfies avg([$x, 1]) = 1,
-every $x in ["1", "2"] satisfies string($x) = "1",
-every $x in ["1", "2"] satisfies string-length($x) = 1,
-every $x in [[1, 2],[10],[1,5,7,8]] satisfies count($x) = 1,
-every $x in [[2],[10],[8]] satisfies count($x) = 1,
-every $x in [true, false] satisfies boolean("true"),
-every $x in [true,true] satisfies not($x),
-every $x in [1,2,3], $y in [4,5,6] satisfies $x + $y = 5,
-every $x in [1,2,3], $y in [4,5,6] satisfies $x - $y = 5,
-every $x in [1,2,3], $y in [4,5,6] satisfies $x * $y = 10,
-every $x in ["ab","cd"], $y in ["ab","de"] satisfies string($x) = string($y),
-every $x in [1,2,3], $y in [4,5,6] satisfies int32($x) = int32($y),
-every $x in [1,2,3], $y in [4,5,6] satisfies float($x) = float($y),
-every $x in [1,2,3], $y in [4,5,6] satisfies double($x) = double($y),
-every $x in ["true", "false"], $y in ["false","true"] satisfies boolean($x) = boolean($y),
-every $x in ["1980-05-05T13:13:13Z", "1980-05-05T13:13:13Z"], $y in ["1980-05-05T13:13:13Z","1980-05-05T13:13:13Z"] satisfies datetime($x) = datetime($y)
-]
-for $i in $a
-return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_03/everysat_03.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_03/everysat_03.2.update.aql
index 99b4844..feac764 100644
--- a/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_03/everysat_03.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_03/everysat_03.2.update.aql
@@ -5,25 +5,3 @@
  * Date             : 5th July 2012
  */
 
-write output to nc1:"rttest/quantifiers_everysat_02.adm";
-
-let $a := [
-every $x in [1, 2] satisfies avg([$x, 1]) = 1,
-every $x in ["1", "2"] satisfies string($x) = "1",
-every $x in ["1", "2"] satisfies string-length($x) = 1,
-every $x in [[1, 2],[10],[1,5,7,8]] satisfies count($x) = 1,
-every $x in [[2],[10],[8]] satisfies count($x) = 1,
-every $x in [true, false] satisfies boolean("true"),
-every $x in [true,true] satisfies not($x),
-every $x in [1,2,3], $y in [4,5,6] satisfies $x + $y = 5,
-every $x in [1,2,3], $y in [4,5,6] satisfies $x - $y = 5,
-every $x in [1,2,3], $y in [4,5,6] satisfies $x * $y = 10,
-every $x in ["ab","cd"], $y in ["ab","de"] satisfies string($x) = string($y),
-every $x in [1,2,3], $y in [4,5,6] satisfies int32($x) = int32($y),
-every $x in [1,2,3], $y in [4,5,6] satisfies float($x) = float($y),
-every $x in [1,2,3], $y in [4,5,6] satisfies double($x) = double($y),
-every $x in ["true", "false"], $y in ["false","true"] satisfies boolean($x) = boolean($y),
-every $x in ["1980-05-05T13:13:13Z", "1980-05-05T13:13:13Z"], $y in ["1980-05-05T13:13:13Z","1980-05-05T13:13:13Z"] satisfies datetime($x) = datetime($y)
-]
-for $i in $a
-return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_03/everysat_03.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_03/everysat_03.3.query.aql
index 99b4844..0c3c390 100644
--- a/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_03/everysat_03.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_03/everysat_03.3.query.aql
@@ -5,8 +5,6 @@
  * Date             : 5th July 2012
  */
 
-write output to nc1:"rttest/quantifiers_everysat_02.adm";
-
 let $a := [
 every $x in [1, 2] satisfies avg([$x, 1]) = 1,
 every $x in ["1", "2"] satisfies string($x) = "1",
diff --git a/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_04/everysat_04.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_04/everysat_04.1.ddl.aql
index b9eccfd..3d7587b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_04/everysat_04.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_04/everysat_04.1.ddl.aql
@@ -5,19 +5,4 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/quantifiers_everysat_04.adm";
-
-let $x := [
-every $x in [false,false] satisfies $x,
-every $x in [true,false] satisfies $x,
-every $x in [false,true] satisfies $x,
-every $x in [true,true] satisfies $x,
-every $x in [false,false] satisfies not($x),
-every $x in [true,false] satisfies not($x),
-every $x in [false,true] satisfies not($x),
-every $x in [true,true] satisfies not($x)
-]
-for $i in $x
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_04/everysat_04.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_04/everysat_04.2.update.aql
index b9eccfd..1469fb3 100644
--- a/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_04/everysat_04.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_04/everysat_04.2.update.aql
@@ -3,21 +3,3 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/quantifiers_everysat_04.adm";
-
-let $x := [
-every $x in [false,false] satisfies $x,
-every $x in [true,false] satisfies $x,
-every $x in [false,true] satisfies $x,
-every $x in [true,true] satisfies $x,
-every $x in [false,false] satisfies not($x),
-every $x in [true,false] satisfies not($x),
-every $x in [false,true] satisfies not($x),
-every $x in [true,true] satisfies not($x)
-]
-for $i in $x
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_04/everysat_04.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_04/everysat_04.3.query.aql
index b9eccfd..7742254 100644
--- a/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_04/everysat_04.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/quantifiers/everysat_04/everysat_04.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/quantifiers_everysat_04.adm";
-
 let $x := [
 every $x in [false,false] satisfies $x,
 every $x in [true,false] satisfies $x,
@@ -20,4 +16,4 @@
 every $x in [true,true] satisfies not($x)
 ]
 for $i in $x
-return $i
\ No newline at end of file
+return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_01/somesat_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_01/somesat_01.1.ddl.aql
index 9837981..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_01/somesat_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_01/somesat_01.1.ddl.aql
@@ -1,10 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/quantifiers_somesat_01.adm";
-
-for $x in [10, -30, -21, 50]
-where some $y in [-20, -40]
-      satisfies $y > $x
-return $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_01/somesat_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_01/somesat_01.2.update.aql
index 9837981..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_01/somesat_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_01/somesat_01.2.update.aql
@@ -1,10 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/quantifiers_somesat_01.adm";
-
-for $x in [10, -30, -21, 50]
-where some $y in [-20, -40]
-      satisfies $y > $x
-return $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_01/somesat_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_01/somesat_01.3.query.aql
index 9837981..5ddac59 100644
--- a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_01/somesat_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_01/somesat_01.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/quantifiers_somesat_01.adm";
-
 for $x in [10, -30, -21, 50]
 where some $y in [-20, -40]
       satisfies $y > $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_02/somesat_02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_02/somesat_02.1.ddl.aql
index 6718ff0..3c567c4 100644
--- a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_02/somesat_02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_02/somesat_02.1.ddl.aql
@@ -1,7 +1,5 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
-
 
 create type AddressType as open {
   number: int32, 
@@ -29,23 +27,3 @@
   total: float
 }
 
-create dataset CustomerSomeSat02(CustomerType)
-  primary key cid;
-create dataset OrdersSomeSat02(OrderType)
-  primary key oid;
-
-load dataset CustomerSomeSat02 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter" 
-(("path"="nc1://data/custord-tiny/customer-tiny.adm"),("format"="adm"));
-
-load dataset OrdersSomeSat02 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter" 
-(("path"="nc1://data/custord-tiny/order-tiny.adm"),("format"="adm"));
-
-write output to nc1:"rttest/quantifiers_somesat_02.adm";
-
-for $x in dataset('CustomerSomeSat02')
-where some $y in dataset('OrdersSomeSat02')
-      satisfies $y.cid = $x.cid
-order by $x.cid      
-return $x.cid
diff --git a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_02/somesat_02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_02/somesat_02.2.update.aql
index 6718ff0..3a72ee9 100644
--- a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_02/somesat_02.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_02/somesat_02.2.update.aql
@@ -1,34 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as open {
-  cid: int32, 
-  name: string,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
-create type OrderType as open {
-  oid: int32,
-  cid: int32,
-  orderstatus: string,
-  orderpriority: string,
-  clerk: string,
-  total: float
-}
-
 create dataset CustomerSomeSat02(CustomerType)
   primary key cid;
 create dataset OrdersSomeSat02(OrderType)
@@ -42,10 +13,3 @@
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter" 
 (("path"="nc1://data/custord-tiny/order-tiny.adm"),("format"="adm"));
 
-write output to nc1:"rttest/quantifiers_somesat_02.adm";
-
-for $x in dataset('CustomerSomeSat02')
-where some $y in dataset('OrdersSomeSat02')
-      satisfies $y.cid = $x.cid
-order by $x.cid      
-return $x.cid
diff --git a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_02/somesat_02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_02/somesat_02.3.query.aql
index 6718ff0..a1bd425 100644
--- a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_02/somesat_02.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_02/somesat_02.3.query.aql
@@ -1,49 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type CustomerType as open {
-  cid: int32, 
-  name: string,
-  age: int32?,
-  address: AddressType?,
-  lastorder: {
-    oid: int32,
-    total: float
-  }
-}
-
-create type OrderType as open {
-  oid: int32,
-  cid: int32,
-  orderstatus: string,
-  orderpriority: string,
-  clerk: string,
-  total: float
-}
-
-create dataset CustomerSomeSat02(CustomerType)
-  primary key cid;
-create dataset OrdersSomeSat02(OrderType)
-  primary key oid;
-
-load dataset CustomerSomeSat02 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter" 
-(("path"="nc1://data/custord-tiny/customer-tiny.adm"),("format"="adm"));
-
-load dataset OrdersSomeSat02 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter" 
-(("path"="nc1://data/custord-tiny/order-tiny.adm"),("format"="adm"));
-
-write output to nc1:"rttest/quantifiers_somesat_02.adm";
-
 for $x in dataset('CustomerSomeSat02')
 where some $y in dataset('OrdersSomeSat02')
       satisfies $y.cid = $x.cid
diff --git a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_03/somesat_03.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_03/somesat_03.1.ddl.aql
index 7178156..e6bb380 100644
--- a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_03/somesat_03.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_03/somesat_03.1.ddl.aql
@@ -4,23 +4,3 @@
  * Date            : 6th July 2012
  */
 
-write output to nc1:"rttest/quantifiers_somesat_03.adm";
-
-let $a := [
-some $x in [1, 2] satisfies $x + $x = 3,
-some $x in [1, 2] satisfies $x + $x = 2,
-some $x in [1, 2] satisfies $x - 2 = 2,
-some $x in [1, 2] satisfies $x - 2 = 0,
-some $x in [1, 2] satisfies $x * 2 = 4,
-some $x in [1, 2] satisfies $x / 2 = 1,
-some $x in [1, 2] satisfies avg([$x,1]) = 1,
-some $x in [1, 2] satisfies boolean("true"),
-some $x in [1, 2] satisfies boolean("false"),
-some $x in [true,false] satisfies not($x),
-some $x in [1, 2] satisfies $x = 1 or $x = 2,
-some $x in [1, 2] satisfies $x = 1 and ($x +1) = 2 
-]
-for $i in $a
-return $i
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_03/somesat_03.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_03/somesat_03.2.update.aql
index 7178156..e6bb380 100644
--- a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_03/somesat_03.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_03/somesat_03.2.update.aql
@@ -4,23 +4,3 @@
  * Date            : 6th July 2012
  */
 
-write output to nc1:"rttest/quantifiers_somesat_03.adm";
-
-let $a := [
-some $x in [1, 2] satisfies $x + $x = 3,
-some $x in [1, 2] satisfies $x + $x = 2,
-some $x in [1, 2] satisfies $x - 2 = 2,
-some $x in [1, 2] satisfies $x - 2 = 0,
-some $x in [1, 2] satisfies $x * 2 = 4,
-some $x in [1, 2] satisfies $x / 2 = 1,
-some $x in [1, 2] satisfies avg([$x,1]) = 1,
-some $x in [1, 2] satisfies boolean("true"),
-some $x in [1, 2] satisfies boolean("false"),
-some $x in [true,false] satisfies not($x),
-some $x in [1, 2] satisfies $x = 1 or $x = 2,
-some $x in [1, 2] satisfies $x = 1 and ($x +1) = 2 
-]
-for $i in $a
-return $i
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_03/somesat_03.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_03/somesat_03.3.query.aql
index 7178156..7a1bcb8 100644
--- a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_03/somesat_03.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_03/somesat_03.3.query.aql
@@ -4,8 +4,6 @@
  * Date            : 6th July 2012
  */
 
-write output to nc1:"rttest/quantifiers_somesat_03.adm";
-
 let $a := [
 some $x in [1, 2] satisfies $x + $x = 3,
 some $x in [1, 2] satisfies $x + $x = 2,
diff --git a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_04/somesat_04.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_04/somesat_04.1.ddl.aql
index b308aa2..c11137a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_04/somesat_04.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_04/somesat_04.1.ddl.aql
@@ -6,18 +6,3 @@
  * Date             : 5th July 2012
  */
 
-write output to nc1:"rttest/quantifiers_somesat_04.adm";
-
-let $a := [
-some $x in ["foo","foobar","foot","fox"] satisfies string-length($x) = 3,
-some $x in [[5,4,3,2],[1,2,3,4,5,6,7,8],[4,2,3,4]] satisfies count($x) = 8,
-some $x in [1, 2] satisfies $x = 1 or $x = 2,
-some $x in [1, 2] satisfies $x = 1 and ($x +1) = 2,
-some $x in ["A","B","C"] satisfies $x = "A",
-some $x in [1,2,3], $y in [4,5,6] satisfies $x + $y = 5,
-some $x in [1,2,3], $y in [4,5,6] satisfies $x - $y = 5,
-some $x in [1,2,3], $y in [4,5,6] satisfies $x * $y = 10,
-some $x in [1,2,3], $y in [4,5,6] satisfies $x / $y = 2
-]
-for $i in $a
-return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_04/somesat_04.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_04/somesat_04.2.update.aql
index b308aa2..c11137a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_04/somesat_04.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_04/somesat_04.2.update.aql
@@ -6,18 +6,3 @@
  * Date             : 5th July 2012
  */
 
-write output to nc1:"rttest/quantifiers_somesat_04.adm";
-
-let $a := [
-some $x in ["foo","foobar","foot","fox"] satisfies string-length($x) = 3,
-some $x in [[5,4,3,2],[1,2,3,4,5,6,7,8],[4,2,3,4]] satisfies count($x) = 8,
-some $x in [1, 2] satisfies $x = 1 or $x = 2,
-some $x in [1, 2] satisfies $x = 1 and ($x +1) = 2,
-some $x in ["A","B","C"] satisfies $x = "A",
-some $x in [1,2,3], $y in [4,5,6] satisfies $x + $y = 5,
-some $x in [1,2,3], $y in [4,5,6] satisfies $x - $y = 5,
-some $x in [1,2,3], $y in [4,5,6] satisfies $x * $y = 10,
-some $x in [1,2,3], $y in [4,5,6] satisfies $x / $y = 2
-]
-for $i in $a
-return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_04/somesat_04.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_04/somesat_04.3.query.aql
index b308aa2..269cc31 100644
--- a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_04/somesat_04.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_04/somesat_04.3.query.aql
@@ -6,8 +6,6 @@
  * Date             : 5th July 2012
  */
 
-write output to nc1:"rttest/quantifiers_somesat_04.adm";
-
 let $a := [
 some $x in ["foo","foobar","foot","fox"] satisfies string-length($x) = 3,
 some $x in [[5,4,3,2],[1,2,3,4,5,6,7,8],[4,2,3,4]] satisfies count($x) = 8,
diff --git a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_05/somesat_05.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_05/somesat_05.1.ddl.aql
index 4d802c7..ad0cf1f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_05/somesat_05.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_05/somesat_05.1.ddl.aql
@@ -5,16 +5,3 @@
  * Date             :  5th July 2012
  */
 
-write output to nc1:"rttest/quantifiers_somesat_05.adm";
-
-let $a := [
-some $x in ["foo","foobar","footnote"], $y in ["foofoo","fool","foolish","foot","foo"] satisfies string($x) = string($y),
-some $x in ["1","2","3"], $y in ["4","5","6"] satisfies int32($x) = int32($y),
-some $x in ["1.1","2.2","3.3"], $y in ["4.4","5.5","6.6"] satisfies float($x) = float($y),
-some $x in ["1.1d","2.2d","3.3d"], $y in ["4.4d","5.5d","6.6d"] satisfies double($x) = double($y),
-some $x in ["true", "false"], $y in ["false","true"] satisfies boolean($x) = boolean($y),
-some $x in ["1980-05-05T13:13:13Z", "1980-05-05T13:13:13Z"], $y in ["1980-05-05T13:13:13Z","1980-05-05T13:13:13Z"] satisfies datetime($x) = datetime($y),
-some $x in ["1985-07-05Z", "1985-07-05Z"], $y in ["1985-07-05Z","1985-07-05Z"] satisfies date($x) = date($y)
-]
-for $i in $a
-return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_05/somesat_05.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_05/somesat_05.2.update.aql
index 4d802c7..ad0cf1f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_05/somesat_05.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_05/somesat_05.2.update.aql
@@ -5,16 +5,3 @@
  * Date             :  5th July 2012
  */
 
-write output to nc1:"rttest/quantifiers_somesat_05.adm";
-
-let $a := [
-some $x in ["foo","foobar","footnote"], $y in ["foofoo","fool","foolish","foot","foo"] satisfies string($x) = string($y),
-some $x in ["1","2","3"], $y in ["4","5","6"] satisfies int32($x) = int32($y),
-some $x in ["1.1","2.2","3.3"], $y in ["4.4","5.5","6.6"] satisfies float($x) = float($y),
-some $x in ["1.1d","2.2d","3.3d"], $y in ["4.4d","5.5d","6.6d"] satisfies double($x) = double($y),
-some $x in ["true", "false"], $y in ["false","true"] satisfies boolean($x) = boolean($y),
-some $x in ["1980-05-05T13:13:13Z", "1980-05-05T13:13:13Z"], $y in ["1980-05-05T13:13:13Z","1980-05-05T13:13:13Z"] satisfies datetime($x) = datetime($y),
-some $x in ["1985-07-05Z", "1985-07-05Z"], $y in ["1985-07-05Z","1985-07-05Z"] satisfies date($x) = date($y)
-]
-for $i in $a
-return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_05/somesat_05.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_05/somesat_05.3.query.aql
index 4d802c7..1ed4593 100644
--- a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_05/somesat_05.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_05/somesat_05.3.query.aql
@@ -5,8 +5,6 @@
  * Date             :  5th July 2012
  */
 
-write output to nc1:"rttest/quantifiers_somesat_05.adm";
-
 let $a := [
 some $x in ["foo","foobar","footnote"], $y in ["foofoo","fool","foolish","foot","foo"] satisfies string($x) = string($y),
 some $x in ["1","2","3"], $y in ["4","5","6"] satisfies int32($x) = int32($y),
diff --git a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_06/somesat_06.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_06/somesat_06.1.ddl.aql
index 6e8892c..11ef023 100644
--- a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_06/somesat_06.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_06/somesat_06.1.ddl.aql
@@ -5,19 +5,4 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/quantifiers_somesat_06.adm";
-
-let $x := [
-some $x in [false,false] satisfies $x,
-some $x in [true,false] satisfies $x,
-some $x in [false,true] satisfies $x,
-some $x in [true,true] satisfies $x,
-some $x in [false,false] satisfies not($x),
-some $x in [true,false] satisfies not($x),
-some $x in [false,true] satisfies not($x),
-some $x in [true,true] satisfies not($x)
-]
-for $i in $x
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_06/somesat_06.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_06/somesat_06.2.update.aql
index 6e8892c..6a8a5fc 100644
--- a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_06/somesat_06.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_06/somesat_06.2.update.aql
@@ -3,21 +3,3 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/quantifiers_somesat_06.adm";
-
-let $x := [
-some $x in [false,false] satisfies $x,
-some $x in [true,false] satisfies $x,
-some $x in [false,true] satisfies $x,
-some $x in [true,true] satisfies $x,
-some $x in [false,false] satisfies not($x),
-some $x in [true,false] satisfies not($x),
-some $x in [false,true] satisfies not($x),
-some $x in [true,true] satisfies not($x)
-]
-for $i in $x
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_06/somesat_06.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_06/somesat_06.3.query.aql
index 6e8892c..e406cda 100644
--- a/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_06/somesat_06.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/quantifiers/somesat_06/somesat_06.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/quantifiers_somesat_06.adm";
-
 let $x := [
 some $x in [false,false] satisfies $x,
 some $x in [true,false] satisfies $x,
@@ -20,4 +16,4 @@
 some $x in [true,true] satisfies not($x)
 ]
 for $i in $x
-return $i
\ No newline at end of file
+return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/10/10.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/scan/10/10.1.ddl.aql
index b255178..de4ec24 100644
--- a/asterix-app/src/test/resources/runtimets/queries/scan/10/10.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/10/10.1.ddl.aql
@@ -1,7 +1,6 @@
 /* scan and print a delimited text file */
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type DBLPType as open {
   id: int32, 
@@ -11,16 +10,3 @@
   misc: string
 }
 
-create dataset DBLP1(DBLPType) 
-  primary key id;
-
-// drop dataset DBLP1;
-load dataset DBLP1
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":"));
-
-write output to nc1:"rttest/scan_10.adm";
-
-for $paper in dataset('DBLP1')
-order by $paper.id
-return $paper
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/10/10.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/scan/10/10.2.update.aql
index b255178..bdbc5c2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/scan/10/10.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/10/10.2.update.aql
@@ -1,16 +1,6 @@
 /* scan and print a delimited text file */
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type DBLPType as open {
-  id: int32, 
-  dblpid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
 create dataset DBLP1(DBLPType) 
   primary key id;
 
@@ -19,8 +9,3 @@
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":"));
 
-write output to nc1:"rttest/scan_10.adm";
-
-for $paper in dataset('DBLP1')
-order by $paper.id
-return $paper
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/10/10.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/scan/10/10.3.query.aql
index b255178..3f2567c 100644
--- a/asterix-app/src/test/resources/runtimets/queries/scan/10/10.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/10/10.3.query.aql
@@ -1,26 +1,6 @@
 /* scan and print a delimited text file */
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type DBLPType as open {
-  id: int32, 
-  dblpid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
-create dataset DBLP1(DBLPType) 
-  primary key id;
-
-// drop dataset DBLP1;
-load dataset DBLP1
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":"));
-
-write output to nc1:"rttest/scan_10.adm";
-
 for $paper in dataset('DBLP1')
 order by $paper.id
 return $paper
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/20/20.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/scan/20/20.1.ddl.aql
index 17da0b0..3cbc097 100644
--- a/asterix-app/src/test/resources/runtimets/queries/scan/20/20.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/20/20.1.ddl.aql
@@ -2,7 +2,6 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type DBLPType as closed {
   id: int32, 
@@ -12,16 +11,3 @@
   misc: string
 }
 
-create dataset DBLPadm(DBLPType) 
-  primary key id;
-
-// drop dataset DBLPadm;
-load dataset DBLPadm 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter" 
-(("path"="nc1://data/dblp-small/dblp-small.adm"),("format"="adm"));
-
-write output to nc1:"rttest/scan_20.adm";
-
-for $paper in dataset('DBLPadm')
-order by $paper.id
-return $paper
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/20/20.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/scan/20/20.2.update.aql
index 17da0b0..9212fc7 100644
--- a/asterix-app/src/test/resources/runtimets/queries/scan/20/20.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/20/20.2.update.aql
@@ -1,17 +1,7 @@
 /* scan and print an ADM file as a dataset of closed records */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type DBLPType as closed {
-  id: int32, 
-  dblpid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
 create dataset DBLPadm(DBLPType) 
   primary key id;
 
@@ -20,8 +10,3 @@
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter" 
 (("path"="nc1://data/dblp-small/dblp-small.adm"),("format"="adm"));
 
-write output to nc1:"rttest/scan_20.adm";
-
-for $paper in dataset('DBLPadm')
-order by $paper.id
-return $paper
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/20/20.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/scan/20/20.3.query.aql
index 17da0b0..6f716d7 100644
--- a/asterix-app/src/test/resources/runtimets/queries/scan/20/20.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/20/20.3.query.aql
@@ -1,27 +1,7 @@
 /* scan and print an ADM file as a dataset of closed records */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type DBLPType as closed {
-  id: int32, 
-  dblpid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
-create dataset DBLPadm(DBLPType) 
-  primary key id;
-
-// drop dataset DBLPadm;
-load dataset DBLPadm 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter" 
-(("path"="nc1://data/dblp-small/dblp-small.adm"),("format"="adm"));
-
-write output to nc1:"rttest/scan_20.adm";
-
 for $paper in dataset('DBLPadm')
 order by $paper.id
 return $paper
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/30/30.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/scan/30/30.1.ddl.aql
index 04238ef..3536fbc 100644
--- a/asterix-app/src/test/resources/runtimets/queries/scan/30/30.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/30/30.1.ddl.aql
@@ -1,7 +1,6 @@
 /* scan and print 2 ADM file splits as an external dataset of closed records */
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type DBLPType as closed {
   id: int32, 
@@ -11,11 +10,3 @@
   misc: string
 }
 
-create external dataset DBLPsplits(DBLPType) 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/dblp-small/dblp-small.adm"),("format"="adm")); 
-
-write output to nc1:"rttest/scan_30.adm";
-
-for $paper in dataset('DBLPsplits')
-return $paper
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/30/30.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/scan/30/30.2.update.aql
index 04238ef..282854a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/scan/30/30.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/30/30.2.update.aql
@@ -1,21 +1,6 @@
 /* scan and print 2 ADM file splits as an external dataset of closed records */
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type DBLPType as closed {
-  id: int32, 
-  dblpid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
 create external dataset DBLPsplits(DBLPType) 
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/dblp-small/dblp-small.adm"),("format"="adm")); 
-
-write output to nc1:"rttest/scan_30.adm";
-
-for $paper in dataset('DBLPsplits')
-return $paper
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/30/30.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/scan/30/30.3.query.aql
index 04238ef..8646408 100644
--- a/asterix-app/src/test/resources/runtimets/queries/scan/30/30.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/30/30.3.query.aql
@@ -1,21 +1,5 @@
 /* scan and print 2 ADM file splits as an external dataset of closed records */
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type DBLPType as closed {
-  id: int32, 
-  dblpid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
-create external dataset DBLPsplits(DBLPType) 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/dblp-small/dblp-small.adm"),("format"="adm")); 
-
-write output to nc1:"rttest/scan_30.adm";
-
 for $paper in dataset('DBLPsplits')
 return $paper
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/types_01/types_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/scan/alltypes_01/alltypes_01.1.ddl.aql
similarity index 63%
rename from asterix-app/src/test/resources/runtimets/queries/scan/types_01/types_01.1.ddl.aql
rename to asterix-app/src/test/resources/runtimets/queries/scan/alltypes_01/alltypes_01.1.ddl.aql
index 0800ce4..541c198 100644
--- a/asterix-app/src/test/resources/runtimets/queries/scan/types_01/types_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/alltypes_01/alltypes_01.1.ddl.aql
@@ -1,6 +1,5 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type AddressType as open {
   number: int32, 
@@ -31,11 +30,3 @@
   // union
 }
 
-create external dataset All(AllType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/allData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/scan_alltypes_01.adm";
-      
-for $a in dataset('All')
-return $a 
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/alltypes_01/alltypes_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/scan/alltypes_01/alltypes_01.2.update.aql
new file mode 100644
index 0000000..4d744c9
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/alltypes_01/alltypes_01.2.update.aql
@@ -0,0 +1,5 @@
+use dataverse test;
+
+create external dataset All(AllType)
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/nontagged/allData.json"),("format"="adm"));
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/alltypes_01/alltypes_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/scan/alltypes_01/alltypes_01.3.query.aql
new file mode 100644
index 0000000..2a4f95b
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/alltypes_01/alltypes_01.3.query.aql
@@ -0,0 +1,5 @@
+use dataverse test;
+      
+for $a in dataset('All')
+return $a 
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/types_01/types_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/scan/alltypes_02/alltypes_02.1.ddl.aql
similarity index 63%
copy from asterix-app/src/test/resources/runtimets/queries/scan/types_01/types_01.1.ddl.aql
copy to asterix-app/src/test/resources/runtimets/queries/scan/alltypes_02/alltypes_02.1.ddl.aql
index 0800ce4..a9123ca 100644
--- a/asterix-app/src/test/resources/runtimets/queries/scan/types_01/types_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/alltypes_02/alltypes_02.1.ddl.aql
@@ -1,6 +1,12 @@
+/*
+ * Description  : Test variant syntax for dataset access (scan)
+ *              : using parentheses and quotes is optional
+ * Expected Res : Success
+ * Date         : 6th March 2013
+ */
+
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type AddressType as open {
   number: int32, 
@@ -31,11 +37,3 @@
   // union
 }
 
-create external dataset All(AllType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/allData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/scan_alltypes_01.adm";
-      
-for $a in dataset('All')
-return $a 
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/alltypes_02/alltypes_02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/scan/alltypes_02/alltypes_02.2.update.aql
new file mode 100644
index 0000000..01c8d9e
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/alltypes_02/alltypes_02.2.update.aql
@@ -0,0 +1,12 @@
+/*
+ * Description  : Test variant syntax for dataset access (scan)
+ *              : using parentheses and quotes is optional
+ * Expected Res : Success
+ * Date         : 6th March 2013
+ */
+
+use dataverse test;
+
+create external dataset All(AllType)
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/nontagged/allData.json"),("format"="adm"));
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/alltypes_02/alltypes_02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/scan/alltypes_02/alltypes_02.3.query.aql
new file mode 100644
index 0000000..866a6e3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/alltypes_02/alltypes_02.3.query.aql
@@ -0,0 +1,12 @@
+/*
+ * Description  : Test variant syntax for dataset access (scan)
+ *              : using parentheses and quotes is optional
+ * Expected Res : Success
+ * Date         : 6th March 2013
+ */
+
+use dataverse test;
+
+for $a in dataset All
+return $a 
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/invalid-scan-syntax/invalid-scan-syntax.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/scan/invalid-scan-syntax/invalid-scan-syntax.1.ddl.aql
new file mode 100644
index 0000000..bcc8bfd
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/invalid-scan-syntax/invalid-scan-syntax.1.ddl.aql
@@ -0,0 +1,14 @@
+/*
+ * Description    : Tests syntax error for the changed dataset access syntax
+ * Expected Result: Syntax Error from parser
+ * Date: 			March 6th 2013
+ */
+drop dataverse test if exists;
+create dataverse test;
+
+create type Employee as closed {
+id: int32,
+name: string,
+salary: int32
+}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/invalid-scan-syntax/invalid-scan-syntax.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/scan/invalid-scan-syntax/invalid-scan-syntax.2.update.aql
new file mode 100644
index 0000000..fdb9180
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/invalid-scan-syntax/invalid-scan-syntax.2.update.aql
@@ -0,0 +1,12 @@
+/*
+ * Description    : Tests syntax error for the changed dataset access syntax
+ * Expected Result: Syntax Error from parser
+ * Date: 			March 6th 2013
+ */
+use dataverse test;
+
+create dataset Office(Employee)
+primary key id;
+
+insert into dataset Office({"id": 1, "name": "clerk#1", "salary":120000});
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/invalid-scan-syntax/invalid-scan-syntax.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/scan/invalid-scan-syntax/invalid-scan-syntax.3.query.aql
new file mode 100644
index 0000000..04587fa
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/invalid-scan-syntax/invalid-scan-syntax.3.query.aql
@@ -0,0 +1,10 @@
+/*
+ * Description    : Tests syntax error for the changed dataset access syntax
+ * Expected Result: Syntax Error from parser
+ * Date: 			March 6th 2013
+ */
+use dataverse test;
+
+for $t in dataset 'test.Office'
+return $t
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/issue238_query_1/issue238_query_1.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/scan/issue238_query_1/issue238_query_1.1.ddl.aql
index 86c8430..1cf21cd 100644
--- a/asterix-app/src/test/resources/runtimets/queries/scan/issue238_query_1/issue238_query_1.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/issue238_query_1/issue238_query_1.1.ddl.aql
@@ -10,7 +10,6 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type DBLPType as closed {
   id: int32, 
@@ -20,16 +19,3 @@
   misc: string
 }
 
-create dataset DBLPadm(DBLPType) 
-  primary key id;
-
-// drop dataset DBLPadm;
-load dataset DBLPadm 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter" 
-(("path"="nc1://data/dblp-small/part-00000.adm, nc1://data/dblp-small/part-00001.adm"),("format"="adm"));
-
-write output to nc1:"rttest/scan_issue238_query_1.adm";
-
-for $paper in dataset('DBLPadm')
-order by $paper.id
-return $paper
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/issue238_query_1/issue238_query_1.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/scan/issue238_query_1/issue238_query_1.2.update.aql
index 86c8430..efa406e 100644
--- a/asterix-app/src/test/resources/runtimets/queries/scan/issue238_query_1/issue238_query_1.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/issue238_query_1/issue238_query_1.2.update.aql
@@ -8,18 +8,8 @@
 
 /* scan and print an ADM file as a dataset of closed records */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type DBLPType as closed {
-  id: int32, 
-  dblpid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
 create dataset DBLPadm(DBLPType) 
   primary key id;
 
@@ -28,8 +18,3 @@
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter" 
 (("path"="nc1://data/dblp-small/part-00000.adm, nc1://data/dblp-small/part-00001.adm"),("format"="adm"));
 
-write output to nc1:"rttest/scan_issue238_query_1.adm";
-
-for $paper in dataset('DBLPadm')
-order by $paper.id
-return $paper
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/issue238_query_1/issue238_query_1.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/scan/issue238_query_1/issue238_query_1.3.query.aql
index 86c8430..e6f8a40 100644
--- a/asterix-app/src/test/resources/runtimets/queries/scan/issue238_query_1/issue238_query_1.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/issue238_query_1/issue238_query_1.3.query.aql
@@ -8,28 +8,8 @@
 
 /* scan and print an ADM file as a dataset of closed records */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type DBLPType as closed {
-  id: int32, 
-  dblpid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
-create dataset DBLPadm(DBLPType) 
-  primary key id;
-
-// drop dataset DBLPadm;
-load dataset DBLPadm 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter" 
-(("path"="nc1://data/dblp-small/part-00000.adm, nc1://data/dblp-small/part-00001.adm"),("format"="adm"));
-
-write output to nc1:"rttest/scan_issue238_query_1.adm";
-
 for $paper in dataset('DBLPadm')
 order by $paper.id
 return $paper
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/issue238_query_2/issue238_query_2.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/scan/issue238_query_2/issue238_query_2.1.ddl.aql
index 7dd319a..2e303f2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/scan/issue238_query_2/issue238_query_2.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/issue238_query_2/issue238_query_2.1.ddl.aql
@@ -10,7 +10,6 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type DBLPType as closed {
   id: int32, 
@@ -20,17 +19,3 @@
   misc: string
 }
 
-create dataset DBLPadm(DBLPType) 
-  primary key id;
-
-// drop dataset DBLPadm;
-load dataset DBLPadm 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter" 
-(("path"="nc1://data/dblp-small/part-00000.adm, 
- nc1://data/dblp-small/part-00001.adm"),("format"="adm"));
-
-write output to nc1:"rttest/scan_issue238_query_2.adm";
-
-for $paper in dataset('DBLPadm')
-order by $paper.id
-return $paper
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/issue238_query_2/issue238_query_2.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/scan/issue238_query_2/issue238_query_2.2.update.aql
index 7dd319a..d5bc504 100644
--- a/asterix-app/src/test/resources/runtimets/queries/scan/issue238_query_2/issue238_query_2.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/issue238_query_2/issue238_query_2.2.update.aql
@@ -8,18 +8,8 @@
 
 /* scan and print an ADM file as a dataset of closed records */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type DBLPType as closed {
-  id: int32, 
-  dblpid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
 create dataset DBLPadm(DBLPType) 
   primary key id;
 
@@ -29,8 +19,3 @@
 (("path"="nc1://data/dblp-small/part-00000.adm, 
  nc1://data/dblp-small/part-00001.adm"),("format"="adm"));
 
-write output to nc1:"rttest/scan_issue238_query_2.adm";
-
-for $paper in dataset('DBLPadm')
-order by $paper.id
-return $paper
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/issue238_query_2/issue238_query_2.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/scan/issue238_query_2/issue238_query_2.3.query.aql
index 7dd319a..26bcd1a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/scan/issue238_query_2/issue238_query_2.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/issue238_query_2/issue238_query_2.3.query.aql
@@ -8,29 +8,8 @@
 
 /* scan and print an ADM file as a dataset of closed records */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type DBLPType as closed {
-  id: int32, 
-  dblpid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
-create dataset DBLPadm(DBLPType) 
-  primary key id;
-
-// drop dataset DBLPadm;
-load dataset DBLPadm 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter" 
-(("path"="nc1://data/dblp-small/part-00000.adm, 
- nc1://data/dblp-small/part-00001.adm"),("format"="adm"));
-
-write output to nc1:"rttest/scan_issue238_query_2.adm";
-
 for $paper in dataset('DBLPadm')
 order by $paper.id
 return $paper
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/numeric_types_01/numeric_types_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/scan/numeric_types_01/numeric_types_01.1.ddl.aql
index 07586f4..39b856f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/scan/numeric_types_01/numeric_types_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/numeric_types_01/numeric_types_01.1.ddl.aql
@@ -1,6 +1,5 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type NumericType as open {
   id: int32,
@@ -12,11 +11,3 @@
   doubleField: double?
 }
 
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.adm"),("format"="adm"));
-        
-write output to nc1:"rttest/scan_numeric_types_01.adm";
-      
-for $a in dataset('Numeric')
-return $a 
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/numeric_types_01/numeric_types_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/scan/numeric_types_01/numeric_types_01.2.update.aql
index 07586f4..d397e68 100644
--- a/asterix-app/src/test/resources/runtimets/queries/scan/numeric_types_01/numeric_types_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/numeric_types_01/numeric_types_01.2.update.aql
@@ -1,22 +1,6 @@
-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?
-}
-
 create external dataset Numeric(NumericType)
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/nontagged/numericData.adm"),("format"="adm"));
-        
-write output to nc1:"rttest/scan_numeric_types_01.adm";
-      
-for $a in dataset('Numeric')
-return $a 
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/numeric_types_01/numeric_types_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/scan/numeric_types_01/numeric_types_01.3.query.aql
index 07586f4..e9fddfb 100644
--- a/asterix-app/src/test/resources/runtimets/queries/scan/numeric_types_01/numeric_types_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/numeric_types_01/numeric_types_01.3.query.aql
@@ -1,22 +1,4 @@
-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?
-}
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.adm"),("format"="adm"));
-        
-write output to nc1:"rttest/scan_numeric_types_01.adm";
       
 for $a in dataset('Numeric')
 return $a 
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/spatial_types_01/spatial_types_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/scan/spatial_types_01/spatial_types_01.1.ddl.aql
index 248149f..4036289 100644
--- a/asterix-app/src/test/resources/runtimets/queries/scan/spatial_types_01/spatial_types_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/spatial_types_01/spatial_types_01.1.ddl.aql
@@ -1,6 +1,5 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type SpatialType as open {
   id: int32,
@@ -11,11 +10,3 @@
   circle: circle
 }
 
-create external dataset Spatial(SpatialType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/spatialData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/scan_spatial_types_01.adm";
-      
-for $a in dataset('Spatial')
-return $a 
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/spatial_types_01/spatial_types_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/scan/spatial_types_01/spatial_types_01.2.update.aql
index 248149f..08bbb46 100644
--- a/asterix-app/src/test/resources/runtimets/queries/scan/spatial_types_01/spatial_types_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/spatial_types_01/spatial_types_01.2.update.aql
@@ -1,21 +1,6 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type SpatialType as open {
-  id: int32,
-  point: point,
-  point3d: point3d,
-  line: line,
-  polygon: polygon,
-  circle: circle
-}
-
 create external dataset Spatial(SpatialType)
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/nontagged/spatialData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/scan_spatial_types_01.adm";
-      
-for $a in dataset('Spatial')
-return $a 
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/spatial_types_01/spatial_types_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/scan/spatial_types_01/spatial_types_01.3.query.aql
index 248149f..65c7a61 100644
--- a/asterix-app/src/test/resources/runtimets/queries/scan/spatial_types_01/spatial_types_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/spatial_types_01/spatial_types_01.3.query.aql
@@ -1,21 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
-
-create type SpatialType as open {
-  id: int32,
-  point: point,
-  point3d: point3d,
-  line: line,
-  polygon: polygon,
-  circle: circle
-}
-
-create external dataset Spatial(SpatialType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/spatialData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/scan_spatial_types_01.adm";
       
 for $a in dataset('Spatial')
 return $a 
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/spatial_types_02/spatial_types_02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/scan/spatial_types_02/spatial_types_02.1.ddl.aql
index 0997e4f..4036289 100644
--- a/asterix-app/src/test/resources/runtimets/queries/scan/spatial_types_02/spatial_types_02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/spatial_types_02/spatial_types_02.1.ddl.aql
@@ -1,6 +1,5 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type SpatialType as open {
   id: int32,
@@ -11,15 +10,3 @@
   circle: circle
 }
 
-create dataset Spatial2(SpatialType) 
-	primary key id;
-
-load dataset Spatial2 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/spatialData.txt"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-        
-write output to nc1:"rttest/scan_spatial_types_02.adm";
-      
-for $a in dataset('Spatial2')
-return $a 
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/spatial_types_02/spatial_types_02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/scan/spatial_types_02/spatial_types_02.2.update.aql
index 0997e4f..cef77e0 100644
--- a/asterix-app/src/test/resources/runtimets/queries/scan/spatial_types_02/spatial_types_02.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/spatial_types_02/spatial_types_02.2.update.aql
@@ -1,16 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type SpatialType as open {
-  id: int32,
-  point: point,
-  point3d: point3d,
-  line: line,
-  polygon: polygon,
-  circle: circle
-}
-
 create dataset Spatial2(SpatialType) 
 	primary key id;
 
@@ -18,8 +7,3 @@
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/nontagged/spatialData.txt"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
 
-        
-write output to nc1:"rttest/scan_spatial_types_02.adm";
-      
-for $a in dataset('Spatial2')
-return $a 
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/spatial_types_02/spatial_types_02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/scan/spatial_types_02/spatial_types_02.3.query.aql
index 0997e4f..0e766e4 100644
--- a/asterix-app/src/test/resources/runtimets/queries/scan/spatial_types_02/spatial_types_02.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/spatial_types_02/spatial_types_02.3.query.aql
@@ -1,25 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
-
-create type SpatialType as open {
-  id: int32,
-  point: point,
-  point3d: point3d,
-  line: line,
-  polygon: polygon,
-  circle: circle
-}
-
-create dataset Spatial2(SpatialType) 
-	primary key id;
-
-load dataset Spatial2 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/spatialData.txt"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-        
-write output to nc1:"rttest/scan_spatial_types_02.adm";
       
 for $a in dataset('Spatial2')
 return $a 
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/temp_types_01/temp_types_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/scan/temp_types_01/temp_types_01.1.ddl.aql
index d5074a0..a3bb09e 100644
--- a/asterix-app/src/test/resources/runtimets/queries/scan/temp_types_01/temp_types_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/temp_types_01/temp_types_01.1.ddl.aql
@@ -1,6 +1,5 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type TempType as open {
   id: int32,
@@ -10,11 +9,3 @@
   duration: duration
 }
 
-create external dataset Temp(TempType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/tempData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/scan_temp_types_01.adm";
-      
-for $a in dataset('Temp')
-return $a 
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/temp_types_01/temp_types_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/scan/temp_types_01/temp_types_01.2.update.aql
index d5074a0..d279fc4 100644
--- a/asterix-app/src/test/resources/runtimets/queries/scan/temp_types_01/temp_types_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/temp_types_01/temp_types_01.2.update.aql
@@ -1,20 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type TempType as open {
-  id: int32,
-  date: date,
-  time: time,
-  datetime: datetime,
-  duration: duration
-}
-
 create external dataset Temp(TempType)
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/nontagged/tempData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/scan_temp_types_01.adm";
-      
-for $a in dataset('Temp')
-return $a 
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/temp_types_01/temp_types_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/scan/temp_types_01/temp_types_01.3.query.aql
index d5074a0..3d36fc9 100644
--- a/asterix-app/src/test/resources/runtimets/queries/scan/temp_types_01/temp_types_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/temp_types_01/temp_types_01.3.query.aql
@@ -1,20 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
-
-create type TempType as open {
-  id: int32,
-  date: date,
-  time: time,
-  datetime: datetime,
-  duration: duration
-}
-
-create external dataset Temp(TempType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/tempData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/scan_temp_types_01.adm";
       
 for $a in dataset('Temp')
 return $a 
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/temp_types_02/temp_types_02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/scan/temp_types_02/temp_types_02.1.ddl.aql
index a8654bd..c688e81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/scan/temp_types_02/temp_types_02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/temp_types_02/temp_types_02.1.ddl.aql
@@ -1,6 +1,5 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type TempType as closed {
   id: int32,
@@ -10,14 +9,3 @@
   duration: duration
 }
 
-create dataset Temp2(TempType) 
-	primary key id;
-
-load dataset Temp2 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/tempData.txt"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-       
-write output to nc1:"rttest/scan_temp_types_02.adm";
-      
-for $a in dataset('Temp2')
-return $a 
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/temp_types_02/temp_types_02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/scan/temp_types_02/temp_types_02.2.update.aql
index a8654bd..74eac6b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/scan/temp_types_02/temp_types_02.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/temp_types_02/temp_types_02.2.update.aql
@@ -1,23 +1,8 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type TempType as closed {
-  id: int32,
-  date: date,
-  time: time,
-  datetime: datetime,
-  duration: duration
-}
-
 create dataset Temp2(TempType) 
 	primary key id;
 
 load dataset Temp2 
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/nontagged/tempData.txt"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-       
-write output to nc1:"rttest/scan_temp_types_02.adm";
-      
-for $a in dataset('Temp2')
-return $a 
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/temp_types_02/temp_types_02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/scan/temp_types_02/temp_types_02.3.query.aql
index a8654bd..ffce188 100644
--- a/asterix-app/src/test/resources/runtimets/queries/scan/temp_types_02/temp_types_02.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/temp_types_02/temp_types_02.3.query.aql
@@ -1,23 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
-
-create type TempType as closed {
-  id: int32,
-  date: date,
-  time: time,
-  datetime: datetime,
-  duration: duration
-}
-
-create dataset Temp2(TempType) 
-	primary key id;
-
-load dataset Temp2 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/tempData.txt"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-       
-write output to nc1:"rttest/scan_temp_types_02.adm";
       
 for $a in dataset('Temp2')
 return $a 
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/types_01/types_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/scan/types_01/types_01.2.update.aql
deleted file mode 100644
index 0800ce4..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/scan/types_01/types_01.2.update.aql
+++ /dev/null
@@ -1,41 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type AllType as open {
-  id: int32,
-  name: string,
-  age: float,
-  salary: double,
-  married: boolean,
-  interests: {{string}},
-  children: [string],
-  address: AddressType,
-  dob: date,
-  time: time,
-  datetime: datetime,
-  duration: duration,
-  location2d: point,
-  location3d: point3d,
-  line: line,
-  polygon: polygon,
-  circle: circle
-
-  // binary
-  // union
-}
-
-create external dataset All(AllType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/allData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/scan_alltypes_01.adm";
-      
-for $a in dataset('All')
-return $a 
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/types_01/types_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/scan/types_01/types_01.3.query.aql
deleted file mode 100644
index 0800ce4..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/scan/types_01/types_01.3.query.aql
+++ /dev/null
@@ -1,41 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-create type AddressType as open {
-  number: int32, 
-  street: string,
-  city: string
-}
-
-create type AllType as open {
-  id: int32,
-  name: string,
-  age: float,
-  salary: double,
-  married: boolean,
-  interests: {{string}},
-  children: [string],
-  address: AddressType,
-  dob: date,
-  time: time,
-  datetime: datetime,
-  duration: duration,
-  location2d: point,
-  location3d: point3d,
-  line: line,
-  polygon: polygon,
-  circle: circle
-
-  // binary
-  // union
-}
-
-create external dataset All(AllType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/allData.json"),("format"="adm"));
-        
-write output to nc1:"rttest/scan_alltypes_01.adm";
-      
-for $a in dataset('All')
-return $a 
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-check_ints/edit-distance-check_ints.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-check_ints/edit-distance-check_ints.1.ddl.aql
index 3b5fd8d..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-check_ints/edit-distance-check_ints.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-check_ints/edit-distance-check_ints.1.ddl.aql
@@ -1,17 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/similarity_edit-distance-check_ints.adm";
-
-let $a := [1, 2, 3, 4, 5, 6, 7]
-let $b := [1, 3, 4, 5, 7, 8]
-let $results :=
-[
-  edit-distance-check($a, $b, 3),
-  edit-distance-check($b, $a, 3),
-  edit-distance-check($a, $b, 2),
-  edit-distance-check($b, $a, 2)
-]
-for $i in $results
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-check_ints/edit-distance-check_ints.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-check_ints/edit-distance-check_ints.2.update.aql
index 3b5fd8d..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-check_ints/edit-distance-check_ints.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-check_ints/edit-distance-check_ints.2.update.aql
@@ -1,17 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/similarity_edit-distance-check_ints.adm";
-
-let $a := [1, 2, 3, 4, 5, 6, 7]
-let $b := [1, 3, 4, 5, 7, 8]
-let $results :=
-[
-  edit-distance-check($a, $b, 3),
-  edit-distance-check($b, $a, 3),
-  edit-distance-check($a, $b, 2),
-  edit-distance-check($b, $a, 2)
-]
-for $i in $results
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-check_ints/edit-distance-check_ints.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-check_ints/edit-distance-check_ints.3.query.aql
index 3b5fd8d..1b562ce 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-check_ints/edit-distance-check_ints.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-check_ints/edit-distance-check_ints.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/similarity_edit-distance-check_ints.adm";
-
 let $a := [1, 2, 3, 4, 5, 6, 7]
 let $b := [1, 3, 4, 5, 7, 8]
 let $results :=
@@ -14,4 +10,4 @@
   edit-distance-check($b, $a, 2)
 ]
 for $i in $results
-return $i
\ No newline at end of file
+return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-check_strings/edit-distance-check_strings.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-check_strings/edit-distance-check_strings.1.ddl.aql
index e861679..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-check_strings/edit-distance-check_strings.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-check_strings/edit-distance-check_strings.1.ddl.aql
@@ -1,17 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/similarity_edit-distance-check_strings.adm";
-
-let $a := "Nalini Venkatasubramanian"
-let $b := "Nalini Wekatasupramanian"
-let $results :=
-[
-  edit-distance-check($a, $b, 3),
-  edit-distance-check($b, $a, 3),
-  edit-distance-check($a, $b, 2),
-  edit-distance-check($b, $a, 2)
-]
-for $i in $results
-return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-check_strings/edit-distance-check_strings.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-check_strings/edit-distance-check_strings.2.update.aql
index e861679..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-check_strings/edit-distance-check_strings.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-check_strings/edit-distance-check_strings.2.update.aql
@@ -1,17 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/similarity_edit-distance-check_strings.adm";
-
-let $a := "Nalini Venkatasubramanian"
-let $b := "Nalini Wekatasupramanian"
-let $results :=
-[
-  edit-distance-check($a, $b, 3),
-  edit-distance-check($b, $a, 3),
-  edit-distance-check($a, $b, 2),
-  edit-distance-check($b, $a, 2)
-]
-for $i in $results
-return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-check_strings/edit-distance-check_strings.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-check_strings/edit-distance-check_strings.3.query.aql
index e861679..605a672 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-check_strings/edit-distance-check_strings.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-check_strings/edit-distance-check_strings.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/similarity_edit-distance-check_strings.adm";
-
 let $a := "Nalini Venkatasubramanian"
 let $b := "Nalini Wekatasupramanian"
 let $results :=
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-list-is-filterable/edit-distance-list-is-filterable.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-list-is-filterable/edit-distance-list-is-filterable.1.ddl.aql
index ecfbd52..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-list-is-filterable/edit-distance-list-is-filterable.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-list-is-filterable/edit-distance-list-is-filterable.1.ddl.aql
@@ -1,19 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/similarity_edit-distance-list-is-filterable.adm";
-
-let $a := []
-let $b := [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
-let $results :=
-[
-  edit-distance-list-is-filterable($a, 0),
-  edit-distance-list-is-filterable($a, 3),
-  edit-distance-list-is-filterable($b, 0),
-  edit-distance-list-is-filterable($b, 3),
-  edit-distance-list-is-filterable($b, 8),
-  edit-distance-list-is-filterable($b, 11)
-]
-for $i in $results
-return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-list-is-filterable/edit-distance-list-is-filterable.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-list-is-filterable/edit-distance-list-is-filterable.2.update.aql
index ecfbd52..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-list-is-filterable/edit-distance-list-is-filterable.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-list-is-filterable/edit-distance-list-is-filterable.2.update.aql
@@ -1,19 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/similarity_edit-distance-list-is-filterable.adm";
-
-let $a := []
-let $b := [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
-let $results :=
-[
-  edit-distance-list-is-filterable($a, 0),
-  edit-distance-list-is-filterable($a, 3),
-  edit-distance-list-is-filterable($b, 0),
-  edit-distance-list-is-filterable($b, 3),
-  edit-distance-list-is-filterable($b, 8),
-  edit-distance-list-is-filterable($b, 11)
-]
-for $i in $results
-return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-list-is-filterable/edit-distance-list-is-filterable.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-list-is-filterable/edit-distance-list-is-filterable.3.query.aql
index ecfbd52..97fbd61 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-list-is-filterable/edit-distance-list-is-filterable.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-list-is-filterable/edit-distance-list-is-filterable.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/similarity_edit-distance-list-is-filterable.adm";
-
 let $a := []
 let $b := [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
 let $results :=
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-string-is-filterable/edit-distance-string-is-filterable.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-string-is-filterable/edit-distance-string-is-filterable.1.ddl.aql
index c306e0c..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-string-is-filterable/edit-distance-string-is-filterable.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-string-is-filterable/edit-distance-string-is-filterable.1.ddl.aql
@@ -1,33 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/similarity_edit-distance-string-is-filterable.adm";
-
-let $a := ""
-let $b := "abcdefghij"
-let $results :=
-[
-  edit-distance-string-is-filterable($a, 0, 2, false),
-  edit-distance-string-is-filterable($a, 0, 2, true),
-  edit-distance-string-is-filterable($a, 1, 2, false),
-  edit-distance-string-is-filterable($a, 1, 2, true),
-  edit-distance-string-is-filterable($b, 0, 2, false),
-  edit-distance-string-is-filterable($b, 0, 2, true),
-  edit-distance-string-is-filterable($b, 1, 2, false),
-  edit-distance-string-is-filterable($b, 1, 2, true),    
-  edit-distance-string-is-filterable($b, 4, 2, false),
-  edit-distance-string-is-filterable($b, 5, 2, true), 
-  edit-distance-string-is-filterable($b, 5, 2, false),
-  edit-distance-string-is-filterable($b, 6, 2, true),
-  edit-distance-string-is-filterable($b, 0, 3, false),
-  edit-distance-string-is-filterable($b, 0, 3, true),
-  edit-distance-string-is-filterable($b, 1, 3, false),
-  edit-distance-string-is-filterable($b, 1, 3, true),
-  edit-distance-string-is-filterable($b, 2, 3, false),
-  edit-distance-string-is-filterable($b, 3, 3, true), 
-  edit-distance-string-is-filterable($b, 3, 3, false),
-  edit-distance-string-is-filterable($b, 4, 3, true)  
-]
-for $i in $results
-return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-string-is-filterable/edit-distance-string-is-filterable.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-string-is-filterable/edit-distance-string-is-filterable.2.update.aql
index c306e0c..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-string-is-filterable/edit-distance-string-is-filterable.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-string-is-filterable/edit-distance-string-is-filterable.2.update.aql
@@ -1,33 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/similarity_edit-distance-string-is-filterable.adm";
-
-let $a := ""
-let $b := "abcdefghij"
-let $results :=
-[
-  edit-distance-string-is-filterable($a, 0, 2, false),
-  edit-distance-string-is-filterable($a, 0, 2, true),
-  edit-distance-string-is-filterable($a, 1, 2, false),
-  edit-distance-string-is-filterable($a, 1, 2, true),
-  edit-distance-string-is-filterable($b, 0, 2, false),
-  edit-distance-string-is-filterable($b, 0, 2, true),
-  edit-distance-string-is-filterable($b, 1, 2, false),
-  edit-distance-string-is-filterable($b, 1, 2, true),    
-  edit-distance-string-is-filterable($b, 4, 2, false),
-  edit-distance-string-is-filterable($b, 5, 2, true), 
-  edit-distance-string-is-filterable($b, 5, 2, false),
-  edit-distance-string-is-filterable($b, 6, 2, true),
-  edit-distance-string-is-filterable($b, 0, 3, false),
-  edit-distance-string-is-filterable($b, 0, 3, true),
-  edit-distance-string-is-filterable($b, 1, 3, false),
-  edit-distance-string-is-filterable($b, 1, 3, true),
-  edit-distance-string-is-filterable($b, 2, 3, false),
-  edit-distance-string-is-filterable($b, 3, 3, true), 
-  edit-distance-string-is-filterable($b, 3, 3, false),
-  edit-distance-string-is-filterable($b, 4, 3, true)  
-]
-for $i in $results
-return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-string-is-filterable/edit-distance-string-is-filterable.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-string-is-filterable/edit-distance-string-is-filterable.3.query.aql
index c306e0c..9d55ce7 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-string-is-filterable/edit-distance-string-is-filterable.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance-string-is-filterable/edit-distance-string-is-filterable.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/similarity_edit-distance-string-is-filterable.adm";
-
 let $a := ""
 let $b := "abcdefghij"
 let $results :=
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance_ints/edit-distance_ints.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance_ints/edit-distance_ints.1.ddl.aql
index 9cd7dc6..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance_ints/edit-distance_ints.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance_ints/edit-distance_ints.1.ddl.aql
@@ -1,15 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/similarity_edit-distance_ints.adm";
-
-let $a := [1, 2, 3, 4, 5, 6, 7]
-let $b := [1, 3, 4, 5, 7, 8]
-let $results :=
-[
-  edit-distance($a, $b),
-  edit-distance($b, $a)  
-]
-for $i in $results
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance_ints/edit-distance_ints.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance_ints/edit-distance_ints.2.update.aql
index 9cd7dc6..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance_ints/edit-distance_ints.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance_ints/edit-distance_ints.2.update.aql
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/similarity_edit-distance_ints.adm";
-
-let $a := [1, 2, 3, 4, 5, 6, 7]
-let $b := [1, 3, 4, 5, 7, 8]
-let $results :=
-[
-  edit-distance($a, $b),
-  edit-distance($b, $a)  
-]
-for $i in $results
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance_ints/edit-distance_ints.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance_ints/edit-distance_ints.3.query.aql
index 9cd7dc6..0088ee7 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance_ints/edit-distance_ints.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance_ints/edit-distance_ints.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/similarity_edit-distance_ints.adm";
-
 let $a := [1, 2, 3, 4, 5, 6, 7]
 let $b := [1, 3, 4, 5, 7, 8]
 let $results :=
@@ -12,4 +8,4 @@
   edit-distance($b, $a)  
 ]
 for $i in $results
-return $i
\ No newline at end of file
+return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance_strings/edit-distance_strings.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance_strings/edit-distance_strings.1.ddl.aql
index a721c40..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance_strings/edit-distance_strings.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance_strings/edit-distance_strings.1.ddl.aql
@@ -1,15 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/similarity_edit-distance_strings.adm";
-
-let $a := "Nalini Venkatasubramanian"
-let $b := "Nalini Wekatasupramanian"
-let $results :=
-[
-  edit-distance($a, $b),
-  edit-distance($b, $a)  
-]
-for $i in $results
-return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance_strings/edit-distance_strings.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance_strings/edit-distance_strings.2.update.aql
index a721c40..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance_strings/edit-distance_strings.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance_strings/edit-distance_strings.2.update.aql
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/similarity_edit-distance_strings.adm";
-
-let $a := "Nalini Venkatasubramanian"
-let $b := "Nalini Wekatasupramanian"
-let $results :=
-[
-  edit-distance($a, $b),
-  edit-distance($b, $a)  
-]
-for $i in $results
-return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance_strings/edit-distance_strings.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance_strings/edit-distance_strings.3.query.aql
index a721c40..6acbf89 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance_strings/edit-distance_strings.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/edit-distance_strings/edit-distance_strings.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/similarity_edit-distance_strings.adm";
-
 let $a := "Nalini Venkatasubramanian"
 let $b := "Nalini Wekatasupramanian"
 let $results :=
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/fuzzyeq-edit-distance/fuzzyeq-edit-distance.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/fuzzyeq-edit-distance/fuzzyeq-edit-distance.1.ddl.aql
index 3d6dee4..e9994a3 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/fuzzyeq-edit-distance/fuzzyeq-edit-distance.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/fuzzyeq-edit-distance/fuzzyeq-edit-distance.1.ddl.aql
@@ -1,6 +1,5 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type DBLPType as closed {
   id: int32, 
@@ -10,20 +9,3 @@
   misc: string
 }
 
-create nodegroup group1 if not exists on nc1, nc2;
-
-create dataset DBLP(DBLPType) 
-  primary key id on group1;
-
-load dataset DBLP 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
-
-write output to nc1:"rttest/similarity_fuzzyeq-edit-distance.adm";
-
-set simfunction 'edit-distance';
-set simthreshold '2';
-
-for $paper in dataset('DBLP')
-where $paper.authors ~= "Amihay Motro"
-return $paper
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/fuzzyeq-edit-distance/fuzzyeq-edit-distance.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/fuzzyeq-edit-distance/fuzzyeq-edit-distance.2.update.aql
index 3d6dee4..ddbab4f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/fuzzyeq-edit-distance/fuzzyeq-edit-distance.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/fuzzyeq-edit-distance/fuzzyeq-edit-distance.2.update.aql
@@ -1,15 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type DBLPType as closed {
-  id: int32, 
-  dblpid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
 create nodegroup group1 if not exists on nc1, nc2;
 
 create dataset DBLP(DBLPType) 
@@ -19,11 +9,3 @@
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
 
-write output to nc1:"rttest/similarity_fuzzyeq-edit-distance.adm";
-
-set simfunction 'edit-distance';
-set simthreshold '2';
-
-for $paper in dataset('DBLP')
-where $paper.authors ~= "Amihay Motro"
-return $paper
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/fuzzyeq-edit-distance/fuzzyeq-edit-distance.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/fuzzyeq-edit-distance/fuzzyeq-edit-distance.3.query.aql
index 3d6dee4..55fd978 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/fuzzyeq-edit-distance/fuzzyeq-edit-distance.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/fuzzyeq-edit-distance/fuzzyeq-edit-distance.3.query.aql
@@ -1,29 +1,8 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type DBLPType as closed {
-  id: int32, 
-  dblpid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
-create nodegroup group1 if not exists on nc1, nc2;
-
-create dataset DBLP(DBLPType) 
-  primary key id on group1;
-
-load dataset DBLP 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
-
-write output to nc1:"rttest/similarity_fuzzyeq-edit-distance.adm";
-
 set simfunction 'edit-distance';
 set simthreshold '2';
 
 for $paper in dataset('DBLP')
 where $paper.authors ~= "Amihay Motro"
-return $paper
\ No newline at end of file
+return $paper
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/fuzzyeq-similarity-jaccard/fuzzyeq-similarity-jaccard.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/fuzzyeq-similarity-jaccard/fuzzyeq-similarity-jaccard.1.ddl.aql
index 1bef743..e9994a3 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/fuzzyeq-similarity-jaccard/fuzzyeq-similarity-jaccard.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/fuzzyeq-similarity-jaccard/fuzzyeq-similarity-jaccard.1.ddl.aql
@@ -1,6 +1,5 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type DBLPType as closed {
   id: int32, 
@@ -10,20 +9,3 @@
   misc: string
 }
 
-create nodegroup group1 if not exists on nc1, nc2;
-
-create dataset DBLP(DBLPType) 
-  primary key id on group1;
-
-load dataset DBLP 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
-
-write output to nc1:"rttest/similarity_fuzzyeq-similarity-jaccard.adm";
-
-set simfunction 'jaccard';
-set simthreshold '0.5f';
-
-for $paper in dataset('DBLP')
-where word-tokens($paper.title) ~= word-tokens("Transactions for Cooperative Environments")
-return $paper
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/fuzzyeq-similarity-jaccard/fuzzyeq-similarity-jaccard.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/fuzzyeq-similarity-jaccard/fuzzyeq-similarity-jaccard.2.update.aql
index 1bef743..ddbab4f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/fuzzyeq-similarity-jaccard/fuzzyeq-similarity-jaccard.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/fuzzyeq-similarity-jaccard/fuzzyeq-similarity-jaccard.2.update.aql
@@ -1,15 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type DBLPType as closed {
-  id: int32, 
-  dblpid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
 create nodegroup group1 if not exists on nc1, nc2;
 
 create dataset DBLP(DBLPType) 
@@ -19,11 +9,3 @@
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
 
-write output to nc1:"rttest/similarity_fuzzyeq-similarity-jaccard.adm";
-
-set simfunction 'jaccard';
-set simthreshold '0.5f';
-
-for $paper in dataset('DBLP')
-where word-tokens($paper.title) ~= word-tokens("Transactions for Cooperative Environments")
-return $paper
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/fuzzyeq-similarity-jaccard/fuzzyeq-similarity-jaccard.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/fuzzyeq-similarity-jaccard/fuzzyeq-similarity-jaccard.3.query.aql
index 1bef743..3fd772a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/fuzzyeq-similarity-jaccard/fuzzyeq-similarity-jaccard.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/fuzzyeq-similarity-jaccard/fuzzyeq-similarity-jaccard.3.query.aql
@@ -1,29 +1,8 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type DBLPType as closed {
-  id: int32, 
-  dblpid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
-create nodegroup group1 if not exists on nc1, nc2;
-
-create dataset DBLP(DBLPType) 
-  primary key id on group1;
-
-load dataset DBLP 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
-
-write output to nc1:"rttest/similarity_fuzzyeq-similarity-jaccard.adm";
-
 set simfunction 'jaccard';
 set simthreshold '0.5f';
 
 for $paper in dataset('DBLP')
 where word-tokens($paper.title) ~= word-tokens("Transactions for Cooperative Environments")
-return $paper
\ No newline at end of file
+return $paper
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/prefix-len-jaccard/prefix-len-jaccard.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/prefix-len-jaccard/prefix-len-jaccard.1.ddl.aql
index 63424f4..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/prefix-len-jaccard/prefix-len-jaccard.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/prefix-len-jaccard/prefix-len-jaccard.1.ddl.aql
@@ -1,15 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/similarity_prefix-len-jaccard.adm";
-
-for $l in [1]
-return [
-  prefix-len-jaccard(5, .8f),
-  prefix-len-jaccard(5, .9f),
-  prefix-len-jaccard(10, .8f),
-  prefix-len-jaccard(10, .9f),
-  prefix-len-jaccard(15, .8f),
-  prefix-len-jaccard(15, .9f)
-]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/prefix-len-jaccard/prefix-len-jaccard.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/prefix-len-jaccard/prefix-len-jaccard.2.update.aql
index 63424f4..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/prefix-len-jaccard/prefix-len-jaccard.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/prefix-len-jaccard/prefix-len-jaccard.2.update.aql
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/similarity_prefix-len-jaccard.adm";
-
-for $l in [1]
-return [
-  prefix-len-jaccard(5, .8f),
-  prefix-len-jaccard(5, .9f),
-  prefix-len-jaccard(10, .8f),
-  prefix-len-jaccard(10, .9f),
-  prefix-len-jaccard(15, .8f),
-  prefix-len-jaccard(15, .9f)
-]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/prefix-len-jaccard/prefix-len-jaccard.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/prefix-len-jaccard/prefix-len-jaccard.3.query.aql
index 63424f4..1f61b15 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/prefix-len-jaccard/prefix-len-jaccard.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/prefix-len-jaccard/prefix-len-jaccard.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/similarity_prefix-len-jaccard.adm";
-
 for $l in [1]
 return [
   prefix-len-jaccard(5, .8f),
@@ -12,4 +8,4 @@
   prefix-len-jaccard(10, .9f),
   prefix-len-jaccard(15, .8f),
   prefix-len-jaccard(15, .9f)
-]
\ No newline at end of file
+]
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_ints/similarity-jaccard-check_ints.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_ints/similarity-jaccard-check_ints.1.ddl.aql
index 0791f0c..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_ints/similarity-jaccard-check_ints.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_ints/similarity-jaccard-check_ints.1.ddl.aql
@@ -1,30 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/similarity_similarity-jaccard-check_ints.adm";
-
-let $a := [ ]
-let $b := [1, 2, 3, 4, 5]
-let $c := [4, 3, 5, 8, 9, 2, 1]
-let $d := [7, 5, 8, 9, 3, 10, 1, 2, 11, 4]
-let $e := [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21]
-let $f := [1, 2, 3, 4, 5, 7, 8, 9, 10, 11]
-let $results :=
-[ 
-  similarity-jaccard-check($a, $b, 0.0f),
-  similarity-jaccard-check($b, $a, 0.0f),
-  similarity-jaccard-check($a, $b, 0.1f),
-  similarity-jaccard-check($b, $a, 0.1f),
-  similarity-jaccard-check($c, $d, 0.6f),
-  similarity-jaccard-check($d, $c, 0.6f),
-  similarity-jaccard-check($c, $d, 0.8f),
-  similarity-jaccard-check($d, $c, 0.8f),
-  similarity-jaccard-check($e, $f, 0.05f),
-  similarity-jaccard-check($f, $e, 0.05f),
-  similarity-jaccard-check($e, $f, 0.8f),
-  similarity-jaccard-check($f, $e, 0.8f)
-  
-]
-for $i in $results
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_ints/similarity-jaccard-check_ints.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_ints/similarity-jaccard-check_ints.2.update.aql
index 0791f0c..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_ints/similarity-jaccard-check_ints.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_ints/similarity-jaccard-check_ints.2.update.aql
@@ -1,30 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/similarity_similarity-jaccard-check_ints.adm";
-
-let $a := [ ]
-let $b := [1, 2, 3, 4, 5]
-let $c := [4, 3, 5, 8, 9, 2, 1]
-let $d := [7, 5, 8, 9, 3, 10, 1, 2, 11, 4]
-let $e := [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21]
-let $f := [1, 2, 3, 4, 5, 7, 8, 9, 10, 11]
-let $results :=
-[ 
-  similarity-jaccard-check($a, $b, 0.0f),
-  similarity-jaccard-check($b, $a, 0.0f),
-  similarity-jaccard-check($a, $b, 0.1f),
-  similarity-jaccard-check($b, $a, 0.1f),
-  similarity-jaccard-check($c, $d, 0.6f),
-  similarity-jaccard-check($d, $c, 0.6f),
-  similarity-jaccard-check($c, $d, 0.8f),
-  similarity-jaccard-check($d, $c, 0.8f),
-  similarity-jaccard-check($e, $f, 0.05f),
-  similarity-jaccard-check($f, $e, 0.05f),
-  similarity-jaccard-check($e, $f, 0.8f),
-  similarity-jaccard-check($f, $e, 0.8f)
-  
-]
-for $i in $results
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_ints/similarity-jaccard-check_ints.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_ints/similarity-jaccard-check_ints.3.query.aql
index 0791f0c..55eb8f2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_ints/similarity-jaccard-check_ints.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_ints/similarity-jaccard-check_ints.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/similarity_similarity-jaccard-check_ints.adm";
-
 let $a := [ ]
 let $b := [1, 2, 3, 4, 5]
 let $c := [4, 3, 5, 8, 9, 2, 1]
@@ -27,4 +23,4 @@
   
 ]
 for $i in $results
-return $i
\ No newline at end of file
+return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_query/similarity-jaccard-check_query.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_query/similarity-jaccard-check_query.1.ddl.aql
index 836fdb6..e9994a3 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_query/similarity-jaccard-check_query.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_query/similarity-jaccard-check_query.1.ddl.aql
@@ -1,6 +1,5 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type DBLPType as closed {
   id: int32, 
@@ -10,20 +9,3 @@
   misc: string
 }
 
-create nodegroup group1 if not exists on nc1, nc2;
-
-create dataset DBLP(DBLPType) 
-  primary key id on group1;
-
-load dataset DBLP 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
-
-write output to nc1:"rttest/similarity_similarity-jaccard-check_query.adm";
-
-for $paper in dataset('DBLP')
-let $paper_tokens := word-tokens($paper.title)
-let $query_tokens := word-tokens("Environments for Cooperative Transactions")
-let $jacc := similarity-jaccard-check($paper_tokens, $query_tokens, 0.5f)
-where $jacc[0]
-return $paper
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_query/similarity-jaccard-check_query.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_query/similarity-jaccard-check_query.2.update.aql
index 836fdb6..ddbab4f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_query/similarity-jaccard-check_query.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_query/similarity-jaccard-check_query.2.update.aql
@@ -1,15 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type DBLPType as closed {
-  id: int32, 
-  dblpid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
 create nodegroup group1 if not exists on nc1, nc2;
 
 create dataset DBLP(DBLPType) 
@@ -19,11 +9,3 @@
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
 
-write output to nc1:"rttest/similarity_similarity-jaccard-check_query.adm";
-
-for $paper in dataset('DBLP')
-let $paper_tokens := word-tokens($paper.title)
-let $query_tokens := word-tokens("Environments for Cooperative Transactions")
-let $jacc := similarity-jaccard-check($paper_tokens, $query_tokens, 0.5f)
-where $jacc[0]
-return $paper
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_query/similarity-jaccard-check_query.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_query/similarity-jaccard-check_query.3.query.aql
index 836fdb6..11e777e 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_query/similarity-jaccard-check_query.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_query/similarity-jaccard-check_query.3.query.aql
@@ -1,29 +1,8 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type DBLPType as closed {
-  id: int32, 
-  dblpid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
-create nodegroup group1 if not exists on nc1, nc2;
-
-create dataset DBLP(DBLPType) 
-  primary key id on group1;
-
-load dataset DBLP 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
-
-write output to nc1:"rttest/similarity_similarity-jaccard-check_query.adm";
-
 for $paper in dataset('DBLP')
 let $paper_tokens := word-tokens($paper.title)
 let $query_tokens := word-tokens("Environments for Cooperative Transactions")
 let $jacc := similarity-jaccard-check($paper_tokens, $query_tokens, 0.5f)
 where $jacc[0]
-return $paper
\ No newline at end of file
+return $paper
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_strings/similarity-jaccard-check_strings.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_strings/similarity-jaccard-check_strings.1.ddl.aql
index dadca7b..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_strings/similarity-jaccard-check_strings.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_strings/similarity-jaccard-check_strings.1.ddl.aql
@@ -1,35 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/similarity_similarity-jaccard-check_strings.adm";
-
-let $a := [ ]
-let $b := ["abc", "bcd", "cde", "def", "efg"]
-let $c := ["efg", "abc", "cde", "def", "hij", "ijk", "bcd"]
-let $d := ["abc", "ijk", "bcd", "efg", "fgh", "ghi", "def", "hij", "jkl", "cde"]
-let $e := ["Efg", "aBc", "cdE", "DEf", "hIJ", "IjK", "BCD"]
-let $f := ["abc", "ijk", "bcd", "efg", "fgh", "ghi", "def", "hij", "jkl", "cde"]
-let $g := ["cde", "zza", "zzb", "zzc", "zwz", "za", "zbe", "zer", "zba", "zfe", "wab"]
-let $h := ["abc", "ijk", "bcd", "efg", "fgh", "ghi", "def", "hij", "jkl", "cde"]
-let $results :=
-[ 
-  similarity-jaccard-check($a, $b, 0.0f),
-  similarity-jaccard-check($b, $a, 0.0f),
-  similarity-jaccard-check($a, $b, 0.1f),
-  similarity-jaccard-check($b, $a, 0.1f),
-  similarity-jaccard-check($c, $d, 0.6f),
-  similarity-jaccard-check($d, $c, 0.6f),
-  similarity-jaccard-check($c, $d, 0.8f),
-  similarity-jaccard-check($d, $c, 0.8f),
-  similarity-jaccard-check($e, $f, 0.6f),
-  similarity-jaccard-check($f, $e, 0.6f),
-  similarity-jaccard-check($e, $f, 0.8f),
-  similarity-jaccard-check($f, $e, 0.8f),
-  similarity-jaccard-check($g, $h, 0.05f),
-  similarity-jaccard-check($h, $g, 0.05f),
-  similarity-jaccard-check($g, $h, 0.8f),
-  similarity-jaccard-check($h, $g, 0.8f)  
-]
-for $i in $results
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_strings/similarity-jaccard-check_strings.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_strings/similarity-jaccard-check_strings.2.update.aql
index dadca7b..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_strings/similarity-jaccard-check_strings.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_strings/similarity-jaccard-check_strings.2.update.aql
@@ -1,35 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/similarity_similarity-jaccard-check_strings.adm";
-
-let $a := [ ]
-let $b := ["abc", "bcd", "cde", "def", "efg"]
-let $c := ["efg", "abc", "cde", "def", "hij", "ijk", "bcd"]
-let $d := ["abc", "ijk", "bcd", "efg", "fgh", "ghi", "def", "hij", "jkl", "cde"]
-let $e := ["Efg", "aBc", "cdE", "DEf", "hIJ", "IjK", "BCD"]
-let $f := ["abc", "ijk", "bcd", "efg", "fgh", "ghi", "def", "hij", "jkl", "cde"]
-let $g := ["cde", "zza", "zzb", "zzc", "zwz", "za", "zbe", "zer", "zba", "zfe", "wab"]
-let $h := ["abc", "ijk", "bcd", "efg", "fgh", "ghi", "def", "hij", "jkl", "cde"]
-let $results :=
-[ 
-  similarity-jaccard-check($a, $b, 0.0f),
-  similarity-jaccard-check($b, $a, 0.0f),
-  similarity-jaccard-check($a, $b, 0.1f),
-  similarity-jaccard-check($b, $a, 0.1f),
-  similarity-jaccard-check($c, $d, 0.6f),
-  similarity-jaccard-check($d, $c, 0.6f),
-  similarity-jaccard-check($c, $d, 0.8f),
-  similarity-jaccard-check($d, $c, 0.8f),
-  similarity-jaccard-check($e, $f, 0.6f),
-  similarity-jaccard-check($f, $e, 0.6f),
-  similarity-jaccard-check($e, $f, 0.8f),
-  similarity-jaccard-check($f, $e, 0.8f),
-  similarity-jaccard-check($g, $h, 0.05f),
-  similarity-jaccard-check($h, $g, 0.05f),
-  similarity-jaccard-check($g, $h, 0.8f),
-  similarity-jaccard-check($h, $g, 0.8f)  
-]
-for $i in $results
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_strings/similarity-jaccard-check_strings.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_strings/similarity-jaccard-check_strings.3.query.aql
index dadca7b..83acea7 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_strings/similarity-jaccard-check_strings.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_strings/similarity-jaccard-check_strings.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/similarity_similarity-jaccard-check_strings.adm";
-
 let $a := [ ]
 let $b := ["abc", "bcd", "cde", "def", "efg"]
 let $c := ["efg", "abc", "cde", "def", "hij", "ijk", "bcd"]
@@ -32,4 +28,4 @@
   similarity-jaccard-check($h, $g, 0.8f)  
 ]
 for $i in $results
-return $i
\ No newline at end of file
+return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-prefix-check/similarity-jaccard-prefix-check.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-prefix-check/similarity-jaccard-prefix-check.1.ddl.aql
index 7a48854..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-prefix-check/similarity-jaccard-prefix-check.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-prefix-check/similarity-jaccard-prefix-check.1.ddl.aql
@@ -1,15 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/similarity_similarity-jaccard-prefix-check.adm";
-
-for $l in [1]
-return [
-  similarity-jaccard-prefix-check(3, [1, 2, 3], 3, [1, 2, 3], 1, 1f),
-  similarity-jaccard-prefix-check(3, [1, 2, 3], 3, [1, 2, 4], 1, .5f),
-  similarity-jaccard-prefix-check(3, [1, 2, 3], 3, [1, 2, 4], 1, .6f),
-  similarity-jaccard-prefix-check(3, [1, 2, 3], 9, [1, 2, 3], 1, .5f),
-  similarity-jaccard-prefix-check(4, [1, 2, 3, 4], 2, [1, 2], 1, .5f),
-  similarity-jaccard-prefix-check(4, [1, 2, 3, 4], 4, [1, 2], 1, .33f)
-]
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-prefix-check/similarity-jaccard-prefix-check.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-prefix-check/similarity-jaccard-prefix-check.2.update.aql
index 7a48854..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-prefix-check/similarity-jaccard-prefix-check.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-prefix-check/similarity-jaccard-prefix-check.2.update.aql
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/similarity_similarity-jaccard-prefix-check.adm";
-
-for $l in [1]
-return [
-  similarity-jaccard-prefix-check(3, [1, 2, 3], 3, [1, 2, 3], 1, 1f),
-  similarity-jaccard-prefix-check(3, [1, 2, 3], 3, [1, 2, 4], 1, .5f),
-  similarity-jaccard-prefix-check(3, [1, 2, 3], 3, [1, 2, 4], 1, .6f),
-  similarity-jaccard-prefix-check(3, [1, 2, 3], 9, [1, 2, 3], 1, .5f),
-  similarity-jaccard-prefix-check(4, [1, 2, 3, 4], 2, [1, 2], 1, .5f),
-  similarity-jaccard-prefix-check(4, [1, 2, 3, 4], 4, [1, 2], 1, .33f)
-]
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-prefix-check/similarity-jaccard-prefix-check.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-prefix-check/similarity-jaccard-prefix-check.3.query.aql
index 7a48854..46c0389 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-prefix-check/similarity-jaccard-prefix-check.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-prefix-check/similarity-jaccard-prefix-check.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/similarity_similarity-jaccard-prefix-check.adm";
-
 for $l in [1]
 return [
   similarity-jaccard-prefix-check(3, [1, 2, 3], 3, [1, 2, 3], 1, 1f),
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-prefix/similarity-jaccard-prefix.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-prefix/similarity-jaccard-prefix.1.ddl.aql
index 50c857b..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-prefix/similarity-jaccard-prefix.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-prefix/similarity-jaccard-prefix.1.ddl.aql
@@ -1,15 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/similarity_similarity-jaccard-prefix.adm";
-
-for $l in [1]
-return [
-  similarity-jaccard-prefix(3, [1, 2, 3], 3, [1, 2, 3], 1, 1f),
-  similarity-jaccard-prefix(3, [1, 2, 3], 3, [1, 2, 4], 1, .5f),
-  similarity-jaccard-prefix(3, [1, 2, 3], 3, [1, 2, 4], 1, .6f),
-  similarity-jaccard-prefix(3, [1, 2, 3], 9, [1, 2, 3], 1, .5f),
-  similarity-jaccard-prefix(4, [1, 2, 3, 4], 2, [1, 2], 1, .5f),
-  similarity-jaccard-prefix(4, [1, 2, 3, 4], 4, [1, 2], 1, .33f)
-]
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-prefix/similarity-jaccard-prefix.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-prefix/similarity-jaccard-prefix.2.update.aql
index 50c857b..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-prefix/similarity-jaccard-prefix.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-prefix/similarity-jaccard-prefix.2.update.aql
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/similarity_similarity-jaccard-prefix.adm";
-
-for $l in [1]
-return [
-  similarity-jaccard-prefix(3, [1, 2, 3], 3, [1, 2, 3], 1, 1f),
-  similarity-jaccard-prefix(3, [1, 2, 3], 3, [1, 2, 4], 1, .5f),
-  similarity-jaccard-prefix(3, [1, 2, 3], 3, [1, 2, 4], 1, .6f),
-  similarity-jaccard-prefix(3, [1, 2, 3], 9, [1, 2, 3], 1, .5f),
-  similarity-jaccard-prefix(4, [1, 2, 3, 4], 2, [1, 2], 1, .5f),
-  similarity-jaccard-prefix(4, [1, 2, 3, 4], 4, [1, 2], 1, .33f)
-]
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-prefix/similarity-jaccard-prefix.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-prefix/similarity-jaccard-prefix.3.query.aql
index 50c857b..10db026 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-prefix/similarity-jaccard-prefix.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-prefix/similarity-jaccard-prefix.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/similarity_similarity-jaccard-prefix.adm";
-
 for $l in [1]
 return [
   similarity-jaccard-prefix(3, [1, 2, 3], 3, [1, 2, 3], 1, 1f),
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_ints/similarity-jaccard-sorted-check_ints.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_ints/similarity-jaccard-sorted-check_ints.1.ddl.aql
index b48bdd3..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_ints/similarity-jaccard-sorted-check_ints.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_ints/similarity-jaccard-sorted-check_ints.1.ddl.aql
@@ -1,23 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/similarity_similarity-jaccard-sorted-check_ints.adm";
-
-let $a := [ ]
-let $b := [1, 2, 3, 4, 5]
-let $c := [1, 2, 3, 4, 5, 8, 9]
-let $d := [1, 2, 3, 4, 5, 7, 8, 9, 10, 11]
-let $results :=
-[
-  similarity-jaccard-sorted-check($a, $b, 0.0f),
-  similarity-jaccard-sorted-check($b, $a, 0.0f),
-  similarity-jaccard-sorted-check($a, $b, 0.1f),
-  similarity-jaccard-sorted-check($b, $a, 0.1f),
-  similarity-jaccard-sorted-check($c, $d, 0.6f),
-  similarity-jaccard-sorted-check($d, $c, 0.6f),
-  similarity-jaccard-sorted-check($c, $d, 0.8f),
-  similarity-jaccard-sorted-check($d, $c, 0.8f)
-]
-for $i in $results
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_ints/similarity-jaccard-sorted-check_ints.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_ints/similarity-jaccard-sorted-check_ints.2.update.aql
index b48bdd3..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_ints/similarity-jaccard-sorted-check_ints.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_ints/similarity-jaccard-sorted-check_ints.2.update.aql
@@ -1,23 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/similarity_similarity-jaccard-sorted-check_ints.adm";
-
-let $a := [ ]
-let $b := [1, 2, 3, 4, 5]
-let $c := [1, 2, 3, 4, 5, 8, 9]
-let $d := [1, 2, 3, 4, 5, 7, 8, 9, 10, 11]
-let $results :=
-[
-  similarity-jaccard-sorted-check($a, $b, 0.0f),
-  similarity-jaccard-sorted-check($b, $a, 0.0f),
-  similarity-jaccard-sorted-check($a, $b, 0.1f),
-  similarity-jaccard-sorted-check($b, $a, 0.1f),
-  similarity-jaccard-sorted-check($c, $d, 0.6f),
-  similarity-jaccard-sorted-check($d, $c, 0.6f),
-  similarity-jaccard-sorted-check($c, $d, 0.8f),
-  similarity-jaccard-sorted-check($d, $c, 0.8f)
-]
-for $i in $results
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_ints/similarity-jaccard-sorted-check_ints.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_ints/similarity-jaccard-sorted-check_ints.3.query.aql
index b48bdd3..31c8b1b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_ints/similarity-jaccard-sorted-check_ints.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_ints/similarity-jaccard-sorted-check_ints.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/similarity_similarity-jaccard-sorted-check_ints.adm";
-
 let $a := [ ]
 let $b := [1, 2, 3, 4, 5]
 let $c := [1, 2, 3, 4, 5, 8, 9]
@@ -20,4 +16,4 @@
   similarity-jaccard-sorted-check($d, $c, 0.8f)
 ]
 for $i in $results
-return $i
\ No newline at end of file
+return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_query/similarity-jaccard-sorted-check_query.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_query/similarity-jaccard-sorted-check_query.1.ddl.aql
index ba3b85e..e0514a6 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_query/similarity-jaccard-sorted-check_query.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_query/similarity-jaccard-sorted-check_query.1.ddl.aql
@@ -1,5 +1,3 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
 create type DBLPType as closed {
@@ -10,20 +8,3 @@
   misc: string
 }
 
-create nodegroup group1 if not exists on nc1, nc2;
-
-create dataset DBLP(DBLPType) 
-  primary key id on group1;
-
-load dataset DBLP 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
-
-write output to nc1:"rttest/similarity_similarity-jaccard-sorted-check_query.adm";
-
-for $paper in dataset('DBLP')
-let $paper_tokens := word-tokens($paper.title)
-let $query_tokens := word-tokens("Cooperative Transactions for Environments")
-let $jacc := similarity-jaccard-sorted-check($paper_tokens, $query_tokens, 0.5f)
-where $jacc[0]
-return $paper
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_query/similarity-jaccard-sorted-check_query.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_query/similarity-jaccard-sorted-check_query.2.update.aql
index ba3b85e..ddbab4f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_query/similarity-jaccard-sorted-check_query.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_query/similarity-jaccard-sorted-check_query.2.update.aql
@@ -1,15 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type DBLPType as closed {
-  id: int32, 
-  dblpid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
 create nodegroup group1 if not exists on nc1, nc2;
 
 create dataset DBLP(DBLPType) 
@@ -19,11 +9,3 @@
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
 
-write output to nc1:"rttest/similarity_similarity-jaccard-sorted-check_query.adm";
-
-for $paper in dataset('DBLP')
-let $paper_tokens := word-tokens($paper.title)
-let $query_tokens := word-tokens("Cooperative Transactions for Environments")
-let $jacc := similarity-jaccard-sorted-check($paper_tokens, $query_tokens, 0.5f)
-where $jacc[0]
-return $paper
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_query/similarity-jaccard-sorted-check_query.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_query/similarity-jaccard-sorted-check_query.3.query.aql
index ba3b85e..a8089ec 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_query/similarity-jaccard-sorted-check_query.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_query/similarity-jaccard-sorted-check_query.3.query.aql
@@ -1,29 +1,8 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type DBLPType as closed {
-  id: int32, 
-  dblpid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
-create nodegroup group1 if not exists on nc1, nc2;
-
-create dataset DBLP(DBLPType) 
-  primary key id on group1;
-
-load dataset DBLP 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
-
-write output to nc1:"rttest/similarity_similarity-jaccard-sorted-check_query.adm";
-
 for $paper in dataset('DBLP')
 let $paper_tokens := word-tokens($paper.title)
 let $query_tokens := word-tokens("Cooperative Transactions for Environments")
 let $jacc := similarity-jaccard-sorted-check($paper_tokens, $query_tokens, 0.5f)
 where $jacc[0]
-return $paper
\ No newline at end of file
+return $paper
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_strings/similarity-jaccard-sorted-check_strings.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_strings/similarity-jaccard-sorted-check_strings.1.ddl.aql
index 3fdf844..16769de 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_strings/similarity-jaccard-sorted-check_strings.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_strings/similarity-jaccard-sorted-check_strings.1.ddl.aql
@@ -1,29 +1,2 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/similarity_similarity-jaccard-sorted-check_strings.adm";
-
-let $a := [ ]
-let $b := ["abc", "bcd", "cde", "def", "efg"]
-let $c := ["abc", "bcd", "cde", "def", "efg", "hij", "ijk"]
-let $d := ["abc", "bcd", "cde", "def", "efg", "fgh", "ghi", "hij", "ijk", "jkl"]
-let $e := ["Abc", "bCd", "cdE", "DEf", "eFG", "HiJ", "IJK"]
-let $f := ["abc", "bcd", "cde", "def", "efg", "fgh", "ghi", "hij", "ijk", "jkl"]
-let $results :=
-[
-  similarity-jaccard-sorted-check($a, $b, 0.0f),
-  similarity-jaccard-sorted-check($b, $a, 0.0f),
-  similarity-jaccard-sorted-check($a, $b, 0.1f),
-  similarity-jaccard-sorted-check($b, $a, 0.1f),
-  similarity-jaccard-sorted-check($c, $d, 0.6f),
-  similarity-jaccard-sorted-check($d, $c, 0.6f),
-  similarity-jaccard-sorted-check($c, $d, 0.8f),
-  similarity-jaccard-sorted-check($d, $c, 0.8f),
-  similarity-jaccard-sorted-check($e, $f, 0.6f),
-  similarity-jaccard-sorted-check($f, $e, 0.6f),
-  similarity-jaccard-sorted-check($e, $f, 0.8f),
-  similarity-jaccard-sorted-check($f, $e, 0.8f)
-]
-for $i in $results
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_strings/similarity-jaccard-sorted-check_strings.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_strings/similarity-jaccard-sorted-check_strings.2.update.aql
index 3fdf844..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_strings/similarity-jaccard-sorted-check_strings.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_strings/similarity-jaccard-sorted-check_strings.2.update.aql
@@ -1,29 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/similarity_similarity-jaccard-sorted-check_strings.adm";
-
-let $a := [ ]
-let $b := ["abc", "bcd", "cde", "def", "efg"]
-let $c := ["abc", "bcd", "cde", "def", "efg", "hij", "ijk"]
-let $d := ["abc", "bcd", "cde", "def", "efg", "fgh", "ghi", "hij", "ijk", "jkl"]
-let $e := ["Abc", "bCd", "cdE", "DEf", "eFG", "HiJ", "IJK"]
-let $f := ["abc", "bcd", "cde", "def", "efg", "fgh", "ghi", "hij", "ijk", "jkl"]
-let $results :=
-[
-  similarity-jaccard-sorted-check($a, $b, 0.0f),
-  similarity-jaccard-sorted-check($b, $a, 0.0f),
-  similarity-jaccard-sorted-check($a, $b, 0.1f),
-  similarity-jaccard-sorted-check($b, $a, 0.1f),
-  similarity-jaccard-sorted-check($c, $d, 0.6f),
-  similarity-jaccard-sorted-check($d, $c, 0.6f),
-  similarity-jaccard-sorted-check($c, $d, 0.8f),
-  similarity-jaccard-sorted-check($d, $c, 0.8f),
-  similarity-jaccard-sorted-check($e, $f, 0.6f),
-  similarity-jaccard-sorted-check($f, $e, 0.6f),
-  similarity-jaccard-sorted-check($e, $f, 0.8f),
-  similarity-jaccard-sorted-check($f, $e, 0.8f)
-]
-for $i in $results
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_strings/similarity-jaccard-sorted-check_strings.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_strings/similarity-jaccard-sorted-check_strings.3.query.aql
index 3fdf844..326b626 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_strings/similarity-jaccard-sorted-check_strings.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted-check_strings/similarity-jaccard-sorted-check_strings.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/similarity_similarity-jaccard-sorted-check_strings.adm";
-
 let $a := [ ]
 let $b := ["abc", "bcd", "cde", "def", "efg"]
 let $c := ["abc", "bcd", "cde", "def", "efg", "hij", "ijk"]
@@ -26,4 +22,4 @@
   similarity-jaccard-sorted-check($f, $e, 0.8f)
 ]
 for $i in $results
-return $i
\ No newline at end of file
+return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_ints/similarity-jaccard-sorted_ints.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_ints/similarity-jaccard-sorted_ints.1.ddl.aql
index 5fefbf5..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_ints/similarity-jaccard-sorted_ints.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_ints/similarity-jaccard-sorted_ints.1.ddl.aql
@@ -1,19 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/similarity_similarity-jaccard-sorted_ints.adm";
-
-let $a := [ ]
-let $b := [1, 2, 3, 4, 5]
-let $c := [1, 2, 3, 4, 5, 8, 9]
-let $d := [1, 2, 3, 4, 5, 7, 8, 9, 10, 11]
-let $results := 
-[
-  similarity-jaccard-sorted($a, $b),
-  similarity-jaccard-sorted($b, $a),
-  similarity-jaccard-sorted($c, $d),
-  similarity-jaccard-sorted($d, $c)
-]
-for $i in $results
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_ints/similarity-jaccard-sorted_ints.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_ints/similarity-jaccard-sorted_ints.2.update.aql
index 5fefbf5..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_ints/similarity-jaccard-sorted_ints.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_ints/similarity-jaccard-sorted_ints.2.update.aql
@@ -1,19 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/similarity_similarity-jaccard-sorted_ints.adm";
-
-let $a := [ ]
-let $b := [1, 2, 3, 4, 5]
-let $c := [1, 2, 3, 4, 5, 8, 9]
-let $d := [1, 2, 3, 4, 5, 7, 8, 9, 10, 11]
-let $results := 
-[
-  similarity-jaccard-sorted($a, $b),
-  similarity-jaccard-sorted($b, $a),
-  similarity-jaccard-sorted($c, $d),
-  similarity-jaccard-sorted($d, $c)
-]
-for $i in $results
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_ints/similarity-jaccard-sorted_ints.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_ints/similarity-jaccard-sorted_ints.3.query.aql
index 5fefbf5..0915bd6 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_ints/similarity-jaccard-sorted_ints.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_ints/similarity-jaccard-sorted_ints.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/similarity_similarity-jaccard-sorted_ints.adm";
-
 let $a := [ ]
 let $b := [1, 2, 3, 4, 5]
 let $c := [1, 2, 3, 4, 5, 8, 9]
@@ -16,4 +12,4 @@
   similarity-jaccard-sorted($d, $c)
 ]
 for $i in $results
-return $i
\ No newline at end of file
+return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_query/similarity-jaccard-sorted_query.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_query/similarity-jaccard-sorted_query.1.ddl.aql
index 25cb071..e9994a3 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_query/similarity-jaccard-sorted_query.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_query/similarity-jaccard-sorted_query.1.ddl.aql
@@ -1,6 +1,5 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type DBLPType as closed {
   id: int32, 
@@ -10,19 +9,3 @@
   misc: string
 }
 
-create nodegroup group1 if not exists on nc1, nc2;
-
-create dataset DBLP(DBLPType) 
-  primary key id on group1;
-
-load dataset DBLP 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
-
-write output to nc1:"rttest/similarity_similarity-jaccard-sorted_query.adm";
-
-for $paper in dataset('DBLP')
-let $paper_tokens := word-tokens($paper.title)
-let $query_tokens := word-tokens("Cooperative Transactions for Environments")
-where similarity-jaccard-sorted($paper_tokens, $query_tokens) >= 0.5
-return $paper
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_query/similarity-jaccard-sorted_query.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_query/similarity-jaccard-sorted_query.2.update.aql
index 25cb071..ddbab4f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_query/similarity-jaccard-sorted_query.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_query/similarity-jaccard-sorted_query.2.update.aql
@@ -1,15 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type DBLPType as closed {
-  id: int32, 
-  dblpid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
 create nodegroup group1 if not exists on nc1, nc2;
 
 create dataset DBLP(DBLPType) 
@@ -19,10 +9,3 @@
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
 
-write output to nc1:"rttest/similarity_similarity-jaccard-sorted_query.adm";
-
-for $paper in dataset('DBLP')
-let $paper_tokens := word-tokens($paper.title)
-let $query_tokens := word-tokens("Cooperative Transactions for Environments")
-where similarity-jaccard-sorted($paper_tokens, $query_tokens) >= 0.5
-return $paper
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_query/similarity-jaccard-sorted_query.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_query/similarity-jaccard-sorted_query.3.query.aql
index 25cb071..6d6e2c8 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_query/similarity-jaccard-sorted_query.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_query/similarity-jaccard-sorted_query.3.query.aql
@@ -1,28 +1,7 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type DBLPType as closed {
-  id: int32, 
-  dblpid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
-create nodegroup group1 if not exists on nc1, nc2;
-
-create dataset DBLP(DBLPType) 
-  primary key id on group1;
-
-load dataset DBLP 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
-
-write output to nc1:"rttest/similarity_similarity-jaccard-sorted_query.adm";
-
 for $paper in dataset('DBLP')
 let $paper_tokens := word-tokens($paper.title)
 let $query_tokens := word-tokens("Cooperative Transactions for Environments")
 where similarity-jaccard-sorted($paper_tokens, $query_tokens) >= 0.5
-return $paper
\ No newline at end of file
+return $paper
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_strings/similarity-jaccard-sorted_strings.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_strings/similarity-jaccard-sorted_strings.1.ddl.aql
index 67a87d1..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_strings/similarity-jaccard-sorted_strings.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_strings/similarity-jaccard-sorted_strings.1.ddl.aql
@@ -1,23 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/similarity_similarity-jaccard-sorted_strings.adm";
-
-let $a := [ ]
-let $b := ["abc", "bcd", "cde", "def", "efg"]
-let $c := ["abc", "bcd", "cde", "def", "efg", "hij", "ijk"]
-let $d := ["abc", "bcd", "cde", "def", "efg", "fgh", "ghi", "hij", "ijk", "jkl"]
-let $e := ["Abc", "bCd", "cdE", "DEf", "eFG", "HiJ", "IJK"]
-let $f := ["abc", "bcd", "cde", "def", "efg", "fgh", "ghi", "hij", "ijk", "jkl"]
-let $results :=
-[
-  similarity-jaccard-sorted($a, $b),
-  similarity-jaccard-sorted($b, $a),
-  similarity-jaccard-sorted($c, $d),
-  similarity-jaccard-sorted($d, $c),
-  similarity-jaccard-sorted($e, $f),
-  similarity-jaccard-sorted($f, $e)
-]
-for $i in $results
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_strings/similarity-jaccard-sorted_strings.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_strings/similarity-jaccard-sorted_strings.2.update.aql
index 67a87d1..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_strings/similarity-jaccard-sorted_strings.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_strings/similarity-jaccard-sorted_strings.2.update.aql
@@ -1,23 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/similarity_similarity-jaccard-sorted_strings.adm";
-
-let $a := [ ]
-let $b := ["abc", "bcd", "cde", "def", "efg"]
-let $c := ["abc", "bcd", "cde", "def", "efg", "hij", "ijk"]
-let $d := ["abc", "bcd", "cde", "def", "efg", "fgh", "ghi", "hij", "ijk", "jkl"]
-let $e := ["Abc", "bCd", "cdE", "DEf", "eFG", "HiJ", "IJK"]
-let $f := ["abc", "bcd", "cde", "def", "efg", "fgh", "ghi", "hij", "ijk", "jkl"]
-let $results :=
-[
-  similarity-jaccard-sorted($a, $b),
-  similarity-jaccard-sorted($b, $a),
-  similarity-jaccard-sorted($c, $d),
-  similarity-jaccard-sorted($d, $c),
-  similarity-jaccard-sorted($e, $f),
-  similarity-jaccard-sorted($f, $e)
-]
-for $i in $results
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_strings/similarity-jaccard-sorted_strings.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_strings/similarity-jaccard-sorted_strings.3.query.aql
index 67a87d1..2271db0 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_strings/similarity-jaccard-sorted_strings.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-sorted_strings/similarity-jaccard-sorted_strings.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/similarity_similarity-jaccard-sorted_strings.adm";
-
 let $a := [ ]
 let $b := ["abc", "bcd", "cde", "def", "efg"]
 let $c := ["abc", "bcd", "cde", "def", "efg", "hij", "ijk"]
@@ -20,4 +16,4 @@
   similarity-jaccard-sorted($f, $e)
 ]
 for $i in $results
-return $i
\ No newline at end of file
+return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_ints/similarity-jaccard_ints.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_ints/similarity-jaccard_ints.1.ddl.aql
index ee20d00..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_ints/similarity-jaccard_ints.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_ints/similarity-jaccard_ints.1.ddl.aql
@@ -1,23 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/similarity_similarity-jaccard_ints.adm";
-
-let $a := [ ]
-let $b := [1, 2, 3, 4, 5]
-let $c := [1, 2, 3, 4, 5, 8, 9]
-let $d := [1, 2, 3, 4, 5, 7, 8, 9, 10, 11]
-let $e := [4, 3, 5, 8, 9, 2, 1]
-let $f := [7, 5, 8, 9, 3, 10, 1, 2, 11, 4]
-let $results :=
-[
-  similarity-jaccard($a, $b),
-  similarity-jaccard($b, $a),
-  similarity-jaccard($c, $d),
-  similarity-jaccard($d, $c),
-  similarity-jaccard($e, $f),
-  similarity-jaccard($f, $e)
-]
-for $i in $results
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_ints/similarity-jaccard_ints.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_ints/similarity-jaccard_ints.2.update.aql
index ee20d00..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_ints/similarity-jaccard_ints.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_ints/similarity-jaccard_ints.2.update.aql
@@ -1,23 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/similarity_similarity-jaccard_ints.adm";
-
-let $a := [ ]
-let $b := [1, 2, 3, 4, 5]
-let $c := [1, 2, 3, 4, 5, 8, 9]
-let $d := [1, 2, 3, 4, 5, 7, 8, 9, 10, 11]
-let $e := [4, 3, 5, 8, 9, 2, 1]
-let $f := [7, 5, 8, 9, 3, 10, 1, 2, 11, 4]
-let $results :=
-[
-  similarity-jaccard($a, $b),
-  similarity-jaccard($b, $a),
-  similarity-jaccard($c, $d),
-  similarity-jaccard($d, $c),
-  similarity-jaccard($e, $f),
-  similarity-jaccard($f, $e)
-]
-for $i in $results
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_ints/similarity-jaccard_ints.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_ints/similarity-jaccard_ints.3.query.aql
index ee20d00..a76a82a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_ints/similarity-jaccard_ints.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_ints/similarity-jaccard_ints.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/similarity_similarity-jaccard_ints.adm";
-
 let $a := [ ]
 let $b := [1, 2, 3, 4, 5]
 let $c := [1, 2, 3, 4, 5, 8, 9]
@@ -20,4 +16,4 @@
   similarity-jaccard($f, $e)
 ]
 for $i in $results
-return $i
\ No newline at end of file
+return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_query/similarity-jaccard_query.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_query/similarity-jaccard_query.1.ddl.aql
index 20afc67..e9994a3 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_query/similarity-jaccard_query.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_query/similarity-jaccard_query.1.ddl.aql
@@ -1,6 +1,5 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type DBLPType as closed {
   id: int32, 
@@ -10,19 +9,3 @@
   misc: string
 }
 
-create nodegroup group1 if not exists on nc1, nc2;
-
-create dataset DBLP(DBLPType) 
-  primary key id on group1;
-
-load dataset DBLP 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
-
-write output to nc1:"rttest/similarity_similarity-jaccard_query.adm";
-
-for $paper in dataset('DBLP')
-let $paper_tokens := word-tokens($paper.title)
-let $query_tokens := word-tokens("Transactions for Cooperative Environments")
-where similarity-jaccard($paper_tokens, $query_tokens) >= 0.5f
-return $paper
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_query/similarity-jaccard_query.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_query/similarity-jaccard_query.2.update.aql
index 20afc67..ddbab4f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_query/similarity-jaccard_query.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_query/similarity-jaccard_query.2.update.aql
@@ -1,15 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type DBLPType as closed {
-  id: int32, 
-  dblpid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
 create nodegroup group1 if not exists on nc1, nc2;
 
 create dataset DBLP(DBLPType) 
@@ -19,10 +9,3 @@
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
 
-write output to nc1:"rttest/similarity_similarity-jaccard_query.adm";
-
-for $paper in dataset('DBLP')
-let $paper_tokens := word-tokens($paper.title)
-let $query_tokens := word-tokens("Transactions for Cooperative Environments")
-where similarity-jaccard($paper_tokens, $query_tokens) >= 0.5f
-return $paper
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_query/similarity-jaccard_query.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_query/similarity-jaccard_query.3.query.aql
index 20afc67..86cc50f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_query/similarity-jaccard_query.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_query/similarity-jaccard_query.3.query.aql
@@ -1,28 +1,7 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type DBLPType as closed {
-  id: int32, 
-  dblpid: string,
-  title: string,
-  authors: string,
-  misc: string
-}
-
-create nodegroup group1 if not exists on nc1, nc2;
-
-create dataset DBLP(DBLPType) 
-  primary key id on group1;
-
-load dataset DBLP 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
-
-write output to nc1:"rttest/similarity_similarity-jaccard_query.adm";
-
 for $paper in dataset('DBLP')
 let $paper_tokens := word-tokens($paper.title)
 let $query_tokens := word-tokens("Transactions for Cooperative Environments")
 where similarity-jaccard($paper_tokens, $query_tokens) >= 0.5f
-return $paper
\ No newline at end of file
+return $paper
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_strings/similarity-jaccard_strings.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_strings/similarity-jaccard_strings.1.ddl.aql
index 107d92f..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_strings/similarity-jaccard_strings.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_strings/similarity-jaccard_strings.1.ddl.aql
@@ -1,27 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/similarity_similarity-jaccard_strings.adm";
-
-let $a := [ ]
-let $b := ["abc", "bcd", "cde", "def", "efg"]
-let $c := ["abc", "bcd", "cde", "def", "efg", "hij", "ijk"]
-let $d := ["abc", "bcd", "cde", "def", "efg", "fgh", "ghi", "hij", "ijk", "jkl"]
-let $e := ["efg", "abc", "cde", "def", "hij", "ijk", "bcd"]
-let $f := ["abc", "ijk", "bcd", "efg", "fgh", "ghi", "def", "hij", "jkl", "cde"]
-let $g := ["Efg", "aBc", "cdE", "DEf", "hIJ", "IjK", "BCD"]
-let $h := ["abc", "ijk", "bcd", "efg", "fgh", "ghi", "def", "hij", "jkl", "cde"]
-let $results :=
-[
-  similarity-jaccard($a, $b),
-  similarity-jaccard($b, $a),
-  similarity-jaccard($c, $d),
-  similarity-jaccard($d, $c),
-  similarity-jaccard($e, $f),
-  similarity-jaccard($f, $e),
-  similarity-jaccard($g, $h),
-  similarity-jaccard($h, $g)
-]
-for $i in $results
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_strings/similarity-jaccard_strings.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_strings/similarity-jaccard_strings.2.update.aql
index 107d92f..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_strings/similarity-jaccard_strings.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_strings/similarity-jaccard_strings.2.update.aql
@@ -1,27 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/similarity_similarity-jaccard_strings.adm";
-
-let $a := [ ]
-let $b := ["abc", "bcd", "cde", "def", "efg"]
-let $c := ["abc", "bcd", "cde", "def", "efg", "hij", "ijk"]
-let $d := ["abc", "bcd", "cde", "def", "efg", "fgh", "ghi", "hij", "ijk", "jkl"]
-let $e := ["efg", "abc", "cde", "def", "hij", "ijk", "bcd"]
-let $f := ["abc", "ijk", "bcd", "efg", "fgh", "ghi", "def", "hij", "jkl", "cde"]
-let $g := ["Efg", "aBc", "cdE", "DEf", "hIJ", "IjK", "BCD"]
-let $h := ["abc", "ijk", "bcd", "efg", "fgh", "ghi", "def", "hij", "jkl", "cde"]
-let $results :=
-[
-  similarity-jaccard($a, $b),
-  similarity-jaccard($b, $a),
-  similarity-jaccard($c, $d),
-  similarity-jaccard($d, $c),
-  similarity-jaccard($e, $f),
-  similarity-jaccard($f, $e),
-  similarity-jaccard($g, $h),
-  similarity-jaccard($h, $g)
-]
-for $i in $results
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_strings/similarity-jaccard_strings.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_strings/similarity-jaccard_strings.3.query.aql
index 107d92f..b7c627e 100644
--- a/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_strings/similarity-jaccard_strings.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard_strings/similarity-jaccard_strings.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/similarity_similarity-jaccard_strings.adm";
-
 let $a := [ ]
 let $b := ["abc", "bcd", "cde", "def", "efg"]
 let $c := ["abc", "bcd", "cde", "def", "efg", "hij", "ijk"]
@@ -24,4 +20,4 @@
   similarity-jaccard($h, $g)
 ]
 for $i in $results
-return $i
\ No newline at end of file
+return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/codepoint-to-string1/codepoint-to-string1.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/codepoint-to-string1/codepoint-to-string1.1.ddl.aql
index a97e441..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/codepoint-to-string1/codepoint-to-string1.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/codepoint-to-string1/codepoint-to-string1.1.ddl.aql
@@ -1,9 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_codepoint-to-string1.adm";
-
-let $x :=  [20013, 25991, 23383, 31526]
-let $c := codepoint-to-string($x)
-return {"result1": $c}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/codepoint-to-string1/codepoint-to-string1.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/codepoint-to-string1/codepoint-to-string1.2.update.aql
index a97e441..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/codepoint-to-string1/codepoint-to-string1.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/codepoint-to-string1/codepoint-to-string1.2.update.aql
@@ -1,9 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_codepoint-to-string1.adm";
-
-let $x :=  [20013, 25991, 23383, 31526]
-let $c := codepoint-to-string($x)
-return {"result1": $c}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/codepoint-to-string1/codepoint-to-string1.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/codepoint-to-string1/codepoint-to-string1.3.query.aql
index a97e441..c6330cd 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/codepoint-to-string1/codepoint-to-string1.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/codepoint-to-string1/codepoint-to-string1.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_codepoint-to-string1.adm";
-
 let $x :=  [20013, 25991, 23383, 31526]
 let $c := codepoint-to-string($x)
 return {"result1": $c}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/codepoint-to-string2/codepoint-to-string2.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/codepoint-to-string2/codepoint-to-string2.1.ddl.aql
index 829a082..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/codepoint-to-string2/codepoint-to-string2.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/codepoint-to-string2/codepoint-to-string2.1.ddl.aql
@@ -1,12 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_codepoint-to-string2.adm";
-
-let $x1 :=  []
-let $c1 := codepoint-to-string($x1)
-
-let $x2 :=  [97,98,99]
-let $c2 := codepoint-to-string($x2)
-return {"f1": $c1, "f2" : $c2}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/codepoint-to-string2/codepoint-to-string2.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/codepoint-to-string2/codepoint-to-string2.2.update.aql
index 829a082..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/codepoint-to-string2/codepoint-to-string2.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/codepoint-to-string2/codepoint-to-string2.2.update.aql
@@ -1,12 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_codepoint-to-string2.adm";
-
-let $x1 :=  []
-let $c1 := codepoint-to-string($x1)
-
-let $x2 :=  [97,98,99]
-let $c2 := codepoint-to-string($x2)
-return {"f1": $c1, "f2" : $c2}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/codepoint-to-string2/codepoint-to-string2.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/codepoint-to-string2/codepoint-to-string2.3.query.aql
index 829a082..b3da48f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/codepoint-to-string2/codepoint-to-string2.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/codepoint-to-string2/codepoint-to-string2.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_codepoint-to-string2.adm";
-
 let $x1 :=  []
 let $c1 := codepoint-to-string($x1)
 
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/concat_01/concat_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/concat_01/concat_01.1.ddl.aql
index 2a0b1ab..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/concat_01/concat_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/concat_01/concat_01.1.ddl.aql
@@ -1,12 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_concat_01.adm";
-
-let $x :=  ["aa", "25991", "bb", "31526"]
-let $c := string-concat($x)
-
-let $x1 :=  []
-let $c1 := string-concat($x1)
-return {"result1": $c,"result2": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/concat_01/concat_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/concat_01/concat_01.2.update.aql
index 2a0b1ab..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/concat_01/concat_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/concat_01/concat_01.2.update.aql
@@ -1,12 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_concat_01.adm";
-
-let $x :=  ["aa", "25991", "bb", "31526"]
-let $c := string-concat($x)
-
-let $x1 :=  []
-let $c1 := string-concat($x1)
-return {"result1": $c,"result2": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/concat_01/concat_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/concat_01/concat_01.3.query.aql
index 2a0b1ab..f86fa33 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/concat_01/concat_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/concat_01/concat_01.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_concat_01.adm";
-
 let $x :=  ["aa", "25991", "bb", "31526"]
 let $c := string-concat($x)
 
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/concat_02/concat_02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/concat_02/concat_02.1.ddl.aql
index c716fcb..53b91d3 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/concat_02/concat_02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/concat_02/concat_02.1.ddl.aql
@@ -5,11 +5,4 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_concat_02.adm";
-
-let $a := string-concat([null])
-let $b := string-concat([null, "foo"])
-let $c := string-concat(["foo", null])
-return {"a": $a, "b": $b, "c": $c}
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/concat_02/concat_02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/concat_02/concat_02.2.update.aql
index c716fcb..f0738e1 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/concat_02/concat_02.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/concat_02/concat_02.2.update.aql
@@ -3,13 +3,4 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_concat_02.adm";
-
-let $a := string-concat([null])
-let $b := string-concat([null, "foo"])
-let $c := string-concat(["foo", null])
-return {"a": $a, "b": $b, "c": $c}
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/concat_02/concat_02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/concat_02/concat_02.3.query.aql
index c716fcb..164d7a9 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/concat_02/concat_02.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/concat_02/concat_02.3.query.aql
@@ -3,13 +3,9 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_concat_02.adm";
-
 let $a := string-concat([null])
 let $b := string-concat([null, "foo"])
 let $c := string-concat(["foo", null])
-return {"a": $a, "b": $b, "c": $c}
\ No newline at end of file
+return {"a": $a, "b": $b, "c": $c}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/contains_01/contains_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/contains_01/contains_01.1.ddl.aql
index 19ab917..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/contains_01/contains_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/contains_01/contains_01.1.ddl.aql
@@ -1,9 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_contains_01.adm";
-
-for $x in ["foofoo"]
-for $y in ["barbar"]
-return [contains($x, "ofo"), contains($y, "ofo")]
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/contains_01/contains_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/contains_01/contains_01.2.update.aql
index 19ab917..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/contains_01/contains_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/contains_01/contains_01.2.update.aql
@@ -1,9 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_contains_01.adm";
-
-for $x in ["foofoo"]
-for $y in ["barbar"]
-return [contains($x, "ofo"), contains($y, "ofo")]
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/contains_01/contains_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/contains_01/contains_01.3.query.aql
index 19ab917..df2d48a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/contains_01/contains_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/contains_01/contains_01.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_contains_01.adm";
-
 for $x in ["foofoo"]
 for $y in ["barbar"]
 return [contains($x, "ofo"), contains($y, "ofo")]
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/cpttostr01/cpttostr01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/cpttostr01/cpttostr01.1.ddl.aql
index 7516bea..3e2aca4 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/cpttostr01/cpttostr01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/cpttostr01/cpttostr01.1.ddl.aql
@@ -9,20 +9,9 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type TestType as open{
 id:int32,
 cpt:[int32]
 }
 
-create dataset testds(TestType) primary key id;
-
-// insert codepoint data into internal dataset testds here into the cpt attribute
-
-insert into dataset testds({"id":123,"cpt":[0048,0045,0057,0044,0065,0045,0090]});
-
-write output to nc1:"rttest/string_cpttostr01.adm";
-
-for $l in dataset('testds')
-return codepoint-to-string($l.cpt)
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/cpttostr01/cpttostr01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/cpttostr01/cpttostr01.2.update.aql
index 7516bea..41ea7fd 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/cpttostr01/cpttostr01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/cpttostr01/cpttostr01.2.update.aql
@@ -7,22 +7,11 @@
  */
 
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type TestType as open{
-id:int32,
-cpt:[int32]
-}
-
 create dataset testds(TestType) primary key id;
 
 // insert codepoint data into internal dataset testds here into the cpt attribute
 
 insert into dataset testds({"id":123,"cpt":[0048,0045,0057,0044,0065,0045,0090]});
 
-write output to nc1:"rttest/string_cpttostr01.adm";
-
-for $l in dataset('testds')
-return codepoint-to-string($l.cpt)
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/cpttostr01/cpttostr01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/cpttostr01/cpttostr01.3.query.aql
index 7516bea..0c4e466 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/cpttostr01/cpttostr01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/cpttostr01/cpttostr01.3.query.aql
@@ -7,22 +7,7 @@
  */
 
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type TestType as open{
-id:int32,
-cpt:[int32]
-}
-
-create dataset testds(TestType) primary key id;
-
-// insert codepoint data into internal dataset testds here into the cpt attribute
-
-insert into dataset testds({"id":123,"cpt":[0048,0045,0057,0044,0065,0045,0090]});
-
-write output to nc1:"rttest/string_cpttostr01.adm";
-
 for $l in dataset('testds')
 return codepoint-to-string($l.cpt)
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/cpttostr02/cpttostr02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/cpttostr02/cpttostr02.1.ddl.aql
index 1e99989..a1db4b5 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/cpttostr02/cpttostr02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/cpttostr02/cpttostr02.1.ddl.aql
@@ -6,12 +6,3 @@
  * Date           : 16th April 2012
  */
 
-write output to nc1:"rttest/string_cpttostr02.adm";
-
-let $c1 := codepoint-to-string([0065,0066,0067,0068,0069,0070,0071,0072,0073,0074,0075,0076,0077,0078,0079,0080,0081,0082,0083,0084,0085,0086,0087,0088,0089,0090]) 
-
-let $c2 := codepoint-to-string([0097,0098,0099,0100,0101,0102,0103,0104,0105,0106,0107,0108,0109,0110,0111,0112,0113,0114,0115,0116,0117,0118,0119,0120,0121,0122]) 
-
-let $c3 := codepoint-to-string([0033,0034,0035,0036,0037,0038,0039,0040,0041,0042,0043,0044,0045,0046,0047,0048,0049,0050,0051,0052,0053,0054,0055,0063,0064]) 
-
-return {"c1":$c1,"c2":$c2,"c3":$c3}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/cpttostr02/cpttostr02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/cpttostr02/cpttostr02.2.update.aql
index 1e99989..a1db4b5 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/cpttostr02/cpttostr02.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/cpttostr02/cpttostr02.2.update.aql
@@ -6,12 +6,3 @@
  * Date           : 16th April 2012
  */
 
-write output to nc1:"rttest/string_cpttostr02.adm";
-
-let $c1 := codepoint-to-string([0065,0066,0067,0068,0069,0070,0071,0072,0073,0074,0075,0076,0077,0078,0079,0080,0081,0082,0083,0084,0085,0086,0087,0088,0089,0090]) 
-
-let $c2 := codepoint-to-string([0097,0098,0099,0100,0101,0102,0103,0104,0105,0106,0107,0108,0109,0110,0111,0112,0113,0114,0115,0116,0117,0118,0119,0120,0121,0122]) 
-
-let $c3 := codepoint-to-string([0033,0034,0035,0036,0037,0038,0039,0040,0041,0042,0043,0044,0045,0046,0047,0048,0049,0050,0051,0052,0053,0054,0055,0063,0064]) 
-
-return {"c1":$c1,"c2":$c2,"c3":$c3}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/cpttostr02/cpttostr02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/cpttostr02/cpttostr02.3.query.aql
index 1e99989..91f6403 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/cpttostr02/cpttostr02.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/cpttostr02/cpttostr02.3.query.aql
@@ -6,8 +6,6 @@
  * Date           : 16th April 2012
  */
 
-write output to nc1:"rttest/string_cpttostr02.adm";
-
 let $c1 := codepoint-to-string([0065,0066,0067,0068,0069,0070,0071,0072,0073,0074,0075,0076,0077,0078,0079,0080,0081,0082,0083,0084,0085,0086,0087,0088,0089,0090]) 
 
 let $c2 := codepoint-to-string([0097,0098,0099,0100,0101,0102,0103,0104,0105,0106,0107,0108,0109,0110,0111,0112,0113,0114,0115,0116,0117,0118,0119,0120,0121,0122]) 
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/cpttostr04/cpttostr04.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/cpttostr04/cpttostr04.1.ddl.aql
index 9e177c0..1f298f8 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/cpttostr04/cpttostr04.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/cpttostr04/cpttostr04.1.ddl.aql
@@ -7,7 +7,5 @@
 
 //Input = Output
 
-write output to nc1:"rttest/string_cpttostr04.adm";
-
 let $c1 := codepoint-to-string(string-to-codepoint("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"))
 return { "c1":$c1 }
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/cpttostr04/cpttostr04.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/cpttostr04/cpttostr04.2.update.aql
index 9e177c0..4ce693a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/cpttostr04/cpttostr04.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/cpttostr04/cpttostr04.2.update.aql
@@ -7,7 +7,3 @@
 
 //Input = Output
 
-write output to nc1:"rttest/string_cpttostr04.adm";
-
-let $c1 := codepoint-to-string(string-to-codepoint("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"))
-return { "c1":$c1 }
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/cpttostr04/cpttostr04.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/cpttostr04/cpttostr04.3.query.aql
index 9e177c0..1f298f8 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/cpttostr04/cpttostr04.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/cpttostr04/cpttostr04.3.query.aql
@@ -7,7 +7,5 @@
 
 //Input = Output
 
-write output to nc1:"rttest/string_cpttostr04.adm";
-
 let $c1 := codepoint-to-string(string-to-codepoint("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"))
 return { "c1":$c1 }
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/end-with1/end-with1.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/end-with1/end-with1.1.ddl.aql
index 98e0624..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/end-with1/end-with1.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/end-with1/end-with1.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_end-with1.adm";
-
-let $c1 := end-with("hello world","werld")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/end-with1/end-with1.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/end-with1/end-with1.2.update.aql
index 98e0624..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/end-with1/end-with1.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/end-with1/end-with1.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_end-with1.adm";
-
-let $c1 := end-with("hello world","werld")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/end-with1/end-with1.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/end-with1/end-with1.3.query.aql
index 98e0624..da40784 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/end-with1/end-with1.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/end-with1/end-with1.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_end-with1.adm";
-
 let $c1 := end-with("hello world","werld")
 return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/end-with2/end-with2.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/end-with2/end-with2.1.ddl.aql
index 0e53f94..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/end-with2/end-with2.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/end-with2/end-with2.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_end-with2.adm";
-
-let $c1 := end-with("hello world"," world")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/end-with2/end-with2.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/end-with2/end-with2.2.update.aql
index 0e53f94..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/end-with2/end-with2.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/end-with2/end-with2.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_end-with2.adm";
-
-let $c1 := end-with("hello world"," world")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/end-with2/end-with2.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/end-with2/end-with2.3.query.aql
index 0e53f94..9abe1ac 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/end-with2/end-with2.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/end-with2/end-with2.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_end-with2.adm";
-
 let $c1 := end-with("hello world"," world")
 return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/end-with3/end-with3.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/end-with3/end-with3.1.ddl.aql
index f71c320..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/end-with3/end-with3.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/end-with3/end-with3.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_end-with3.adm";
-
-let $c1 := end-with("ends","")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/end-with3/end-with3.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/end-with3/end-with3.2.update.aql
index f71c320..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/end-with3/end-with3.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/end-with3/end-with3.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_end-with3.adm";
-
-let $c1 := end-with("ends","")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/end-with3/end-with3.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/end-with3/end-with3.3.query.aql
index f71c320..af7378d 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/end-with3/end-with3.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/end-with3/end-with3.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_end-with3.adm";
-
 let $c1 := end-with("ends","")
 return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/end-with4/end-with4.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/end-with4/end-with4.1.ddl.aql
index ca02d57..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/end-with4/end-with4.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/end-with4/end-with4.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_end-with4.adm";
-
-let $c1 := end-with("ends","ss")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/end-with4/end-with4.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/end-with4/end-with4.2.update.aql
index ca02d57..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/end-with4/end-with4.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/end-with4/end-with4.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_end-with4.adm";
-
-let $c1 := end-with("ends","ss")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/end-with4/end-with4.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/end-with4/end-with4.3.query.aql
index ca02d57..787f51b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/end-with4/end-with4.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/end-with4/end-with4.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_end-with4.adm";
-
 let $c1 := end-with("ends","ss")
 return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/end-with5/end-with5.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/end-with5/end-with5.1.ddl.aql
index 510beb3..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/end-with5/end-with5.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/end-with5/end-with5.1.ddl.aql
@@ -1,14 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_end-with5.adm";
-
-let $c1 := end-with("ends","s")
-let $c2 := end-with("start",null)
-let $c3 := end-with(null,null)
-let $c4 := end-with("",null)
-let $c5 := end-with("","")
-let $c6 := end-with(null,"")
-
-return {"f1": $c1, "f2": $c2, "f3": $c3, "f4": $c4, "f5": $c5, "f6": $c6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/end-with5/end-with5.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/end-with5/end-with5.2.update.aql
index 510beb3..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/end-with5/end-with5.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/end-with5/end-with5.2.update.aql
@@ -1,14 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_end-with5.adm";
-
-let $c1 := end-with("ends","s")
-let $c2 := end-with("start",null)
-let $c3 := end-with(null,null)
-let $c4 := end-with("",null)
-let $c5 := end-with("","")
-let $c6 := end-with(null,"")
-
-return {"f1": $c1, "f2": $c2, "f3": $c3, "f4": $c4, "f5": $c5, "f6": $c6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/end-with5/end-with5.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/end-with5/end-with5.3.query.aql
index 510beb3..29378bb 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/end-with5/end-with5.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/end-with5/end-with5.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_end-with5.adm";
-
 let $c1 := end-with("ends","s")
 let $c2 := end-with("start",null)
 let $c3 := end-with(null,null)
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/ends-with_01/ends-with_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/ends-with_01/ends-with_01.1.ddl.aql
index 251ebe7..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/ends-with_01/ends-with_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/ends-with_01/ends-with_01.1.ddl.aql
@@ -1,9 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_ends-with_01.adm";
-
-for $x in ["foofoo"]
-for $y in ["barbar"]
-return [ends-with($x, "ar"), ends-with($y, "ar")]
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/ends-with_01/ends-with_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/ends-with_01/ends-with_01.2.update.aql
index 251ebe7..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/ends-with_01/ends-with_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/ends-with_01/ends-with_01.2.update.aql
@@ -1,9 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_ends-with_01.adm";
-
-for $x in ["foofoo"]
-for $y in ["barbar"]
-return [ends-with($x, "ar"), ends-with($y, "ar")]
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/ends-with_01/ends-with_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/ends-with_01/ends-with_01.3.query.aql
index 251ebe7..8f56df3 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/ends-with_01/ends-with_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/ends-with_01/ends-with_01.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_ends-with_01.adm";
-
 for $x in ["foofoo"]
 for $y in ["barbar"]
 return [ends-with($x, "ar"), ends-with($y, "ar")]
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/endwith02/endwith02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/endwith02/endwith02.1.ddl.aql
index cfca775..9f26abc 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/endwith02/endwith02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/endwith02/endwith02.1.ddl.aql
@@ -5,12 +5,3 @@
  * Date          : 20th April 2012
  */
 
-write output to nc1:"rttest/string_endwith02.adm";
-
-for $a in [end-with("aBCDEFghIa",codepoint-to-string([0041])),
-end-with("AbCDEFghIA",codepoint-to-string([0041])),
-end-with("AbCdEfGhIjKlMnOpQrStUvWxYz","xYz"),
-end-with("abcdef",lowercase("ABCDEf")),
-end-with("abcdef","abcdef"),
-end-with("abcdef123","ef123")]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/endwith02/endwith02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/endwith02/endwith02.2.update.aql
index cfca775..9f26abc 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/endwith02/endwith02.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/endwith02/endwith02.2.update.aql
@@ -5,12 +5,3 @@
  * Date          : 20th April 2012
  */
 
-write output to nc1:"rttest/string_endwith02.adm";
-
-for $a in [end-with("aBCDEFghIa",codepoint-to-string([0041])),
-end-with("AbCDEFghIA",codepoint-to-string([0041])),
-end-with("AbCdEfGhIjKlMnOpQrStUvWxYz","xYz"),
-end-with("abcdef",lowercase("ABCDEf")),
-end-with("abcdef","abcdef"),
-end-with("abcdef123","ef123")]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/endwith02/endwith02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/endwith02/endwith02.3.query.aql
index cfca775..0ab3988 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/endwith02/endwith02.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/endwith02/endwith02.3.query.aql
@@ -5,7 +5,6 @@
  * Date          : 20th April 2012
  */
 
-write output to nc1:"rttest/string_endwith02.adm";
 
 for $a in [end-with("aBCDEFghIa",codepoint-to-string([0041])),
 end-with("AbCDEFghIA",codepoint-to-string([0041])),
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/endwith03/endwith03.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/endwith03/endwith03.1.ddl.aql
index 257d992..60a052c 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/endwith03/endwith03.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/endwith03/endwith03.1.ddl.aql
@@ -9,25 +9,8 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type TestType as {
 name:string
 }
 
-create dataset testds(TestType) primary key name;
-
-insert into dataset testds({"name":"Jim Jones"});
-insert into dataset testds({"name":"Ravi Kumar"});
-insert into dataset testds({"name":"Bruce Li"});
-insert into dataset testds({"name":"Marian Jones"});
-insert into dataset testds({"name":"Phil Jones"});
-insert into dataset testds({"name":"I am Jones"});
-
-write output to nc1:"rttest/string_endwith03.adm";
-
-for $l in dataset('testds')
-order by $l.name
-where end-with($l.name,"Jones")
-return $l
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/endwith03/endwith03.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/endwith03/endwith03.2.update.aql
index 257d992..6a3cbae 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/endwith03/endwith03.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/endwith03/endwith03.2.update.aql
@@ -7,14 +7,8 @@
 
 // create internal dataset, insert string data into string field and pass the string filed as input to end-with function
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type TestType as {
-name:string
-}
-
 create dataset testds(TestType) primary key name;
 
 insert into dataset testds({"name":"Jim Jones"});
@@ -24,10 +18,3 @@
 insert into dataset testds({"name":"Phil Jones"});
 insert into dataset testds({"name":"I am Jones"});
 
-write output to nc1:"rttest/string_endwith03.adm";
-
-for $l in dataset('testds')
-order by $l.name
-where end-with($l.name,"Jones")
-return $l
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/endwith03/endwith03.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/endwith03/endwith03.3.query.aql
index 257d992..b267e84 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/endwith03/endwith03.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/endwith03/endwith03.3.query.aql
@@ -7,25 +7,8 @@
 
 // create internal dataset, insert string data into string field and pass the string filed as input to end-with function
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type TestType as {
-name:string
-}
-
-create dataset testds(TestType) primary key name;
-
-insert into dataset testds({"name":"Jim Jones"});
-insert into dataset testds({"name":"Ravi Kumar"});
-insert into dataset testds({"name":"Bruce Li"});
-insert into dataset testds({"name":"Marian Jones"});
-insert into dataset testds({"name":"Phil Jones"});
-insert into dataset testds({"name":"I am Jones"});
-
-write output to nc1:"rttest/string_endwith03.adm";
-
 for $l in dataset('testds')
 order by $l.name
 where end-with($l.name,"Jones")
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/ength_01/ength_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/ength_01/ength_01.2.update.aql
deleted file mode 100644
index 8186f6b..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/string/ength_01/ength_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/string_length_01.adm";
-
-let $c1 := string-length("hellow")
-let $c2 := string-length("")
-let $c3 := string-length(null)
-return {"result1": $c1, "result2": $c2, "result3": $c3}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/ength_01/ength_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/ength_01/ength_01.3.query.aql
deleted file mode 100644
index 8186f6b..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/string/ength_01/ength_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/string_length_01.adm";
-
-let $c1 := string-length("hellow")
-let $c2 := string-length("")
-let $c3 := string-length(null)
-return {"result1": $c1, "result2": $c2, "result3": $c3}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/ength_02/ength_02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/ength_02/ength_02.1.ddl.aql
deleted file mode 100644
index 3cc33e7..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/string/ength_02/ength_02.1.ddl.aql
+++ /dev/null
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_length_02.adm";
-
-for $x in ["ten", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "ninety"]
-return string-length($x)
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/ength_02/ength_02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/ength_02/ength_02.2.update.aql
deleted file mode 100644
index 3cc33e7..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/string/ength_02/ength_02.2.update.aql
+++ /dev/null
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_length_02.adm";
-
-for $x in ["ten", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "ninety"]
-return string-length($x)
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/ength_02/ength_02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/ength_02/ength_02.3.query.aql
deleted file mode 100644
index 3cc33e7..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/string/ength_02/ength_02.3.query.aql
+++ /dev/null
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_length_02.adm";
-
-for $x in ["ten", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "ninety"]
-return string-length($x)
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/ike_01/ike_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/ike_01/ike_01.1.ddl.aql
deleted file mode 100644
index 71a2545..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/string/ike_01/ike_01.1.ddl.aql
+++ /dev/null
@@ -1,7 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_like_01.adm";
-
-[like("A6BBB", "_6%"), like("A8BBB", "_6%")]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/ike_01/ike_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/ike_01/ike_01.2.update.aql
deleted file mode 100644
index 71a2545..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/string/ike_01/ike_01.2.update.aql
+++ /dev/null
@@ -1,7 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_like_01.adm";
-
-[like("A6BBB", "_6%"), like("A8BBB", "_6%")]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/ike_01/ike_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/ike_01/ike_01.3.query.aql
deleted file mode 100644
index 71a2545..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/string/ike_01/ike_01.3.query.aql
+++ /dev/null
@@ -1,7 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_like_01.adm";
-
-[like("A6BBB", "_6%"), like("A8BBB", "_6%")]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/ike_nu/ike_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/ike_nu/ike_nu.1.ddl.aql
deleted file mode 100644
index 4578a9e..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/string/ike_nu/ike_nu.1.ddl.aql
+++ /dev/null
@@ -1,9 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_like_null.adm";
-
-let $x := like("A8BBB", null)
-let $y :=  like(null, "_6%")
-return {"field1": $x , "field2": $y}
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/ike_nu/ike_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/ike_nu/ike_nu.2.update.aql
deleted file mode 100644
index 4578a9e..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/string/ike_nu/ike_nu.2.update.aql
+++ /dev/null
@@ -1,9 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_like_null.adm";
-
-let $x := like("A8BBB", null)
-let $y :=  like(null, "_6%")
-return {"field1": $x , "field2": $y}
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/ike_nu/ike_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/ike_nu/ike_nu.3.query.aql
deleted file mode 100644
index 4578a9e..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/string/ike_nu/ike_nu.3.query.aql
+++ /dev/null
@@ -1,9 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_like_null.adm";
-
-let $x := like("A8BBB", null)
-let $y :=  like(null, "_6%")
-return {"field1": $x , "field2": $y}
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/length_01/length_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/length_01/length_01.1.ddl.aql
new file mode 100644
index 0000000..754ea81
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/string/length_01/length_01.1.ddl.aql
@@ -0,0 +1,3 @@
+drop dataverse test if exists;
+create dataverse test;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/length_01/length_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/length_01/length_01.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/string/length_01/length_01.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/ength_01/ength_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/length_01/length_01.3.query.aql
similarity index 61%
rename from asterix-app/src/test/resources/runtimets/queries/string/ength_01/ength_01.1.ddl.aql
rename to asterix-app/src/test/resources/runtimets/queries/string/length_01/length_01.3.query.aql
index 8186f6b..f3aa6f2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/ength_01/ength_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/length_01/length_01.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_length_01.adm";
-
 let $c1 := string-length("hellow")
 let $c2 := string-length("")
 let $c3 := string-length(null)
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/length_02/length_02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/length_02/length_02.1.ddl.aql
new file mode 100644
index 0000000..754ea81
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/string/length_02/length_02.1.ddl.aql
@@ -0,0 +1,3 @@
+drop dataverse test if exists;
+create dataverse test;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/length_02/length_02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/length_02/length_02.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/string/length_02/length_02.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/length_02/length_02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/length_02/length_02.3.query.aql
new file mode 100644
index 0000000..8d4dca8
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/string/length_02/length_02.3.query.aql
@@ -0,0 +1,4 @@
+use dataverse test;
+
+for $x in ["ten", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "ninety"]
+return string-length($x)
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/like_01/like_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/like_01/like_01.1.ddl.aql
new file mode 100644
index 0000000..754ea81
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/string/like_01/like_01.1.ddl.aql
@@ -0,0 +1,3 @@
+drop dataverse test if exists;
+create dataverse test;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/like_01/like_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/like_01/like_01.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/string/like_01/like_01.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/like_01/like_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/like_01/like_01.3.query.aql
new file mode 100644
index 0000000..73181a7
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/string/like_01/like_01.3.query.aql
@@ -0,0 +1,3 @@
+use dataverse test;
+
+[like("A6BBB", "_6%"), like("A8BBB", "_6%")]
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/like_null/like_null.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/like_null/like_null.1.ddl.aql
new file mode 100644
index 0000000..754ea81
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/string/like_null/like_null.1.ddl.aql
@@ -0,0 +1,3 @@
+drop dataverse test if exists;
+create dataverse test;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/like_null/like_null.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/like_null/like_null.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/string/like_null/like_null.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/like_null/like_null.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/like_null/like_null.3.query.aql
new file mode 100644
index 0000000..57466d7
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/string/like_null/like_null.3.query.aql
@@ -0,0 +1,5 @@
+use dataverse test;
+
+let $x := like("A8BBB", null)
+let $y :=  like(null, "_6%")
+return {"field1": $x , "field2": $y}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/lowercase/lowercase.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/lowercase/lowercase.1.ddl.aql
new file mode 100644
index 0000000..754ea81
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/string/lowercase/lowercase.1.ddl.aql
@@ -0,0 +1,3 @@
+drop dataverse test if exists;
+create dataverse test;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/lowercase/lowercase.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/lowercase/lowercase.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/string/lowercase/lowercase.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/owercase/owercase.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/lowercase/lowercase.3.query.aql
similarity index 60%
rename from asterix-app/src/test/resources/runtimets/queries/string/owercase/owercase.3.query.aql
rename to asterix-app/src/test/resources/runtimets/queries/string/lowercase/lowercase.3.query.aql
index 4c45007..3f8dde9 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/owercase/owercase.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/lowercase/lowercase.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_lowercase.adm";
-
 let $c1 := lowercase("HEllow")
 let $c2 := lowercase("")
 let $c3 := lowercase(null)
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches02/matches02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches02/matches02.1.ddl.aql
index 1018f02..7428895 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches02/matches02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches02/matches02.1.ddl.aql
@@ -5,19 +5,3 @@
  * Date           :  23th April 2012
  */
 
-write output to nc1:"rttest/string_matches02.adm";
-
-let $c1:="Hello World"
-let $c2:="Hello World"
-let $c3:=matches($c1,$c2)
-let $c4:=matches("Asterix for Dummies","Asterix for Dummies")
-let $c5:=matches("semistructured data",lowercase("SEMISTRUCTURED DATA"))
-let $c6:=matches("Mega Living!","Mega")
-let $c7:=matches("Mega Living!","ving!")
-let $c8:=matches("Mega Living!"," ")
-let $c9:=matches("Mega Living!","a l")
-let $c10:=matches("Mega Living!","")
-let $c11:=matches(" "," ")
-let $c12:=matches("aaaa","aaaaa")
-return {"c3":$c3,"c4":$c4,"c5":$c5,"c6":$c6,"c7":$c7,"c8":$c8,"c9":$c9,"c10":$c10,"c11":$c11,"c12":$c12}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches02/matches02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches02/matches02.2.update.aql
index 1018f02..7428895 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches02/matches02.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches02/matches02.2.update.aql
@@ -5,19 +5,3 @@
  * Date           :  23th April 2012
  */
 
-write output to nc1:"rttest/string_matches02.adm";
-
-let $c1:="Hello World"
-let $c2:="Hello World"
-let $c3:=matches($c1,$c2)
-let $c4:=matches("Asterix for Dummies","Asterix for Dummies")
-let $c5:=matches("semistructured data",lowercase("SEMISTRUCTURED DATA"))
-let $c6:=matches("Mega Living!","Mega")
-let $c7:=matches("Mega Living!","ving!")
-let $c8:=matches("Mega Living!"," ")
-let $c9:=matches("Mega Living!","a l")
-let $c10:=matches("Mega Living!","")
-let $c11:=matches(" "," ")
-let $c12:=matches("aaaa","aaaaa")
-return {"c3":$c3,"c4":$c4,"c5":$c5,"c6":$c6,"c7":$c7,"c8":$c8,"c9":$c9,"c10":$c10,"c11":$c11,"c12":$c12}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches02/matches02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches02/matches02.3.query.aql
index 1018f02..52b5b23 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches02/matches02.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches02/matches02.3.query.aql
@@ -5,8 +5,6 @@
  * Date           :  23th April 2012
  */
 
-write output to nc1:"rttest/string_matches02.adm";
-
 let $c1:="Hello World"
 let $c2:="Hello World"
 let $c3:=matches($c1,$c2)
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches03/matches03.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches03/matches03.1.ddl.aql
index 7f4623c..3fa68f2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches03/matches03.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches03/matches03.1.ddl.aql
@@ -7,20 +7,3 @@
  */
 
 
-write output to nc1:"rttest/string_matches03.adm";
-
-for $a in [matches("1234567890","[^a-z]"),
-matches("1234567890","[^a-zA-Z]"),
-matches("abcdefghABCDEFGH","[^a-zA-Z]"),
-matches("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ","[^a-zA-Z]"),
-matches("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ","[^A-Z]"),
-matches("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ","[^a-z]"),
-matches("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ","[^0-9]"),
-matches("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ","[0-9]"),
-matches("adefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ","[a-z&&[^bc]]"),
-matches("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ","[a-z&&[^bc]]"),
-matches("bc","[a-z&&[^bc]]"),
-matches("mnop","[a-z&&[^m-p]]"),
-matches("abcdmnop","[a-z&&[^m-p]]")]
-return $a
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches03/matches03.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches03/matches03.2.update.aql
index 7f4623c..3fa68f2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches03/matches03.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches03/matches03.2.update.aql
@@ -7,20 +7,3 @@
  */
 
 
-write output to nc1:"rttest/string_matches03.adm";
-
-for $a in [matches("1234567890","[^a-z]"),
-matches("1234567890","[^a-zA-Z]"),
-matches("abcdefghABCDEFGH","[^a-zA-Z]"),
-matches("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ","[^a-zA-Z]"),
-matches("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ","[^A-Z]"),
-matches("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ","[^a-z]"),
-matches("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ","[^0-9]"),
-matches("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ","[0-9]"),
-matches("adefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ","[a-z&&[^bc]]"),
-matches("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ","[a-z&&[^bc]]"),
-matches("bc","[a-z&&[^bc]]"),
-matches("mnop","[a-z&&[^m-p]]"),
-matches("abcdmnop","[a-z&&[^m-p]]")]
-return $a
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches03/matches03.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches03/matches03.3.query.aql
index 7f4623c..f665a30 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches03/matches03.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches03/matches03.3.query.aql
@@ -6,9 +6,6 @@
  * Date           :  23th April 2012
  */
 
-
-write output to nc1:"rttest/string_matches03.adm";
-
 for $a in [matches("1234567890","[^a-z]"),
 matches("1234567890","[^a-zA-Z]"),
 matches("abcdefghABCDEFGH","[^a-zA-Z]"),
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches04/matches04.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches04/matches04.1.ddl.aql
index 829a176..babe8ca 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches04/matches04.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches04/matches04.1.ddl.aql
@@ -5,13 +5,3 @@
  * Date           :  20th April 2012
  */
 
-write output to nc1:"rttest/string_matches04.adm";
-
-for $a in [matches("UCI UCI UCI UCI UCI UCI","[UCI{6}]"),
-matches("UCI UCI UCI UCI UCI UCI","[UCI{3,6}]"),
-matches("UCI UCI UCI UCI UCI UCI","[UCI{7}]"),
-matches("UCI UCI UCI UCI UCI UCI","[UCI{1}]"),
-matches("UCI UCI UCI","[UCI+]"),
-matches("false","[true|false]"),
-matches("YX","[XY]")]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches04/matches04.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches04/matches04.2.update.aql
index 829a176..babe8ca 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches04/matches04.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches04/matches04.2.update.aql
@@ -5,13 +5,3 @@
  * Date           :  20th April 2012
  */
 
-write output to nc1:"rttest/string_matches04.adm";
-
-for $a in [matches("UCI UCI UCI UCI UCI UCI","[UCI{6}]"),
-matches("UCI UCI UCI UCI UCI UCI","[UCI{3,6}]"),
-matches("UCI UCI UCI UCI UCI UCI","[UCI{7}]"),
-matches("UCI UCI UCI UCI UCI UCI","[UCI{1}]"),
-matches("UCI UCI UCI","[UCI+]"),
-matches("false","[true|false]"),
-matches("YX","[XY]")]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches04/matches04.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches04/matches04.3.query.aql
index 829a176..a202961 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches04/matches04.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches04/matches04.3.query.aql
@@ -5,8 +5,6 @@
  * Date           :  20th April 2012
  */
 
-write output to nc1:"rttest/string_matches04.adm";
-
 for $a in [matches("UCI UCI UCI UCI UCI UCI","[UCI{6}]"),
 matches("UCI UCI UCI UCI UCI UCI","[UCI{3,6}]"),
 matches("UCI UCI UCI UCI UCI UCI","[UCI{7}]"),
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches05/matches05.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches05/matches05.1.ddl.aql
index 4d9e5b2..77d8337 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches05/matches05.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches05/matches05.1.ddl.aql
@@ -8,7 +8,6 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type TestType1 as{
 fname:string,
@@ -16,19 +15,3 @@
 id:int32
 }
 
-create dataset testds1(TestType1) primary key id;
-
-insert into dataset testds1({"fname":"Test","lname":"Test","id":123});
-insert into dataset testds1({"fname":"Testa","lname":"Test","id":124});
-insert into dataset testds1({"fname":"Test1","lname":"Test1","id":125});
-insert into dataset testds1({"fname":"Test","lname":"Testb","id":126});
-insert into dataset testds1({"fname":"Test2","lname":"Test2","id":127});
-
-write output to nc1:"rttest/string_matches05.adm";
-
-//Perform the match for fname and lname
-for $l in dataset('testds1')
-order by $l.id
-where matches($l.fname,$l.lname)
-return $l
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches05/matches05.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches05/matches05.2.update.aql
index 4d9e5b2..3928b86 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches05/matches05.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches05/matches05.2.update.aql
@@ -6,16 +6,8 @@
  * Date           :  25th April 2012
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type TestType1 as{
-fname:string,
-lname:string,
-id:int32
-}
-
 create dataset testds1(TestType1) primary key id;
 
 insert into dataset testds1({"fname":"Test","lname":"Test","id":123});
@@ -24,11 +16,3 @@
 insert into dataset testds1({"fname":"Test","lname":"Testb","id":126});
 insert into dataset testds1({"fname":"Test2","lname":"Test2","id":127});
 
-write output to nc1:"rttest/string_matches05.adm";
-
-//Perform the match for fname and lname
-for $l in dataset('testds1')
-order by $l.id
-where matches($l.fname,$l.lname)
-return $l
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches05/matches05.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches05/matches05.3.query.aql
index 4d9e5b2..0b14951 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches05/matches05.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches05/matches05.3.query.aql
@@ -6,26 +6,9 @@
  * Date           :  25th April 2012
  */
 
-drop dataverse test if exists;
-create dataverse test;
+
 use dataverse test;
 
-create type TestType1 as{
-fname:string,
-lname:string,
-id:int32
-}
-
-create dataset testds1(TestType1) primary key id;
-
-insert into dataset testds1({"fname":"Test","lname":"Test","id":123});
-insert into dataset testds1({"fname":"Testa","lname":"Test","id":124});
-insert into dataset testds1({"fname":"Test1","lname":"Test1","id":125});
-insert into dataset testds1({"fname":"Test","lname":"Testb","id":126});
-insert into dataset testds1({"fname":"Test2","lname":"Test2","id":127});
-
-write output to nc1:"rttest/string_matches05.adm";
-
 //Perform the match for fname and lname
 for $l in dataset('testds1')
 order by $l.id
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches06/matches06.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches06/matches06.1.ddl.aql
index 0e18a84..70180c0 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches06/matches06.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches06/matches06.1.ddl.aql
@@ -4,8 +4,6 @@
  * Date         : May 21 2012
  */
 
-write output to nc1:"rttest/string_matches06.adm";
-
 for $a in [matches("mnop","."),
 matches("abcdefABCDEF","/d"),
 matches("12345","\d"),
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches06/matches06.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches06/matches06.2.update.aql
index 0e18a84..b7af427 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches06/matches06.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches06/matches06.2.update.aql
@@ -4,22 +4,3 @@
  * Date         : May 21 2012
  */
 
-write output to nc1:"rttest/string_matches06.adm";
-
-for $a in [matches("mnop","."),
-matches("abcdefABCDEF","/d"),
-matches("12345","\d"),
-matches("abcdefGHIJK","\D"),
-matches("       ","\s"),
-matches("       ","\S"),
-matches("Welcome to pattern matching!","[a-zA-Z_0-9]"),
-matches("!@#$%^&*()","[a-zA-Z_0-9]"),
-matches("!@#$%^&*()","[^\W]"),
-matches("!@#$%^&*","[^\w]"),
-matches("0xffff","[\p{XDigit}]"),
-matches("FFFFFFFF","[\p{XDigit}]"),
-matches("abcdefgh","[\p{javaLowerCase}]"),
-matches("ABCDEF","[\p{javaLowerCase}]"),
-matches(codepoint-to-string([0163]),"[\p{Sc}]")]
-return $a
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches06/matches06.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches06/matches06.3.query.aql
index 0e18a84..98f547b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches06/matches06.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches06/matches06.3.query.aql
@@ -4,7 +4,6 @@
  * Date         : May 21 2012
  */
 
-write output to nc1:"rttest/string_matches06.adm";
 
 for $a in [matches("mnop","."),
 matches("abcdefABCDEF","/d"),
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches1/matches1.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches1/matches1.1.ddl.aql
index f81932a..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches1/matches1.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches1/matches1.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_matches1.adm";
-
-let $c1 := matches("abracadabra","bra")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches1/matches1.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches1/matches1.2.update.aql
index f81932a..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches1/matches1.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches1/matches1.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_matches1.adm";
-
-let $c1 := matches("abracadabra","bra")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches1/matches1.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches1/matches1.3.query.aql
index f81932a..1139a9e 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches1/matches1.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches1/matches1.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_matches1.adm";
-
 let $c1 := matches("abracadabra","bra")
 return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches11/matches11.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches11/matches11.1.ddl.aql
index 1e96b5f..6822ad9 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches11/matches11.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches11/matches11.1.ddl.aql
@@ -5,12 +5,3 @@
  * Date           :  20th April 2012
  */
 
-write output to nc1:"rttest/string_matches11.adm";
-
-for $a in [matches("hello",null),
-matches("hello","helllo"),
-matches("hello"," "),
-matches(null,"hello"),
-matches("hello","[^a-z]")]
-return $a
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches11/matches11.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches11/matches11.2.update.aql
index 1e96b5f..6822ad9 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches11/matches11.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches11/matches11.2.update.aql
@@ -5,12 +5,3 @@
  * Date           :  20th April 2012
  */
 
-write output to nc1:"rttest/string_matches11.adm";
-
-for $a in [matches("hello",null),
-matches("hello","helllo"),
-matches("hello"," "),
-matches(null,"hello"),
-matches("hello","[^a-z]")]
-return $a
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches11/matches11.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches11/matches11.3.query.aql
index 1e96b5f..a60ea38 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches11/matches11.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches11/matches11.3.query.aql
@@ -5,8 +5,6 @@
  * Date           :  20th April 2012
  */
 
-write output to nc1:"rttest/string_matches11.adm";
-
 for $a in [matches("hello",null),
 matches("hello","helllo"),
 matches("hello"," "),
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches2/matches2.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches2/matches2.1.ddl.aql
index af5246e..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches2/matches2.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches2/matches2.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_matches2.adm";
-
-let $c1 := matches("abracadabra","^a.*a$")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches2/matches2.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches2/matches2.2.update.aql
index af5246e..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches2/matches2.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches2/matches2.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_matches2.adm";
-
-let $c1 := matches("abracadabra","^a.*a$")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches2/matches2.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches2/matches2.3.query.aql
index af5246e..1e114ad 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches2/matches2.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches2/matches2.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_matches2.adm";
-
 let $c1 := matches("abracadabra","^a.*a$")
 return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches21/matches21.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches21/matches21.1.ddl.aql
index 19f9591..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches21/matches21.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches21/matches21.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_matches21.adm";
-
-let $c1 := matches2("abracadabra","Bra","")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches21/matches21.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches21/matches21.2.update.aql
index 19f9591..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches21/matches21.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches21/matches21.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_matches21.adm";
-
-let $c1 := matches2("abracadabra","Bra","")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches21/matches21.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches21/matches21.3.query.aql
index 19f9591..dff183b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches21/matches21.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches21/matches21.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_matches21.adm";
-
 let $c1 := matches2("abracadabra","Bra","")
 return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches22/matches22.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches22/matches22.1.ddl.aql
index b8d7b96..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches22/matches22.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches22/matches22.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_matches22.adm";
-
-let $c1 := matches2("abracadabra","Bra","i")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches22/matches22.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches22/matches22.2.update.aql
index b8d7b96..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches22/matches22.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches22/matches22.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_matches22.adm";
-
-let $c1 := matches2("abracadabra","Bra","i")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches22/matches22.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches22/matches22.3.query.aql
index b8d7b96..ac16ae8 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches22/matches22.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches22/matches22.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_matches22.adm";
-
 let $c1 := matches2("abracadabra","Bra","i")
 return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches23/matches23.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches23/matches23.1.ddl.aql
index 508699d..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches23/matches23.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches23/matches23.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_matches23.adm";
-
-let $c1 := matches2("helloworld","hello world","x")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches23/matches23.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches23/matches23.2.update.aql
index 508699d..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches23/matches23.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches23/matches23.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_matches23.adm";
-
-let $c1 := matches2("helloworld","hello world","x")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches23/matches23.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches23/matches23.3.query.aql
index 508699d..8289897 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches23/matches23.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches23/matches23.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_matches23.adm";
-
 let $c1 := matches2("helloworld","hello world","x")
 return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches3/matches3.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches3/matches3.1.ddl.aql
index 19c6350..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches3/matches3.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches3/matches3.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_matches3.adm";
-
-let $c1 := matches("abracadabra","^bra")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches3/matches3.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches3/matches3.2.update.aql
index 19c6350..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches3/matches3.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches3/matches3.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_matches3.adm";
-
-let $c1 := matches("abracadabra","^bra")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matches3/matches3.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/matches3/matches3.3.query.aql
index 19c6350..1b9dc55 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matches3/matches3.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matches3/matches3.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_matches3.adm";
-
 let $c1 := matches("abracadabra","^bra")
 return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matchesnu/matchesnu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/matchesnu/matchesnu.2.update.aql
deleted file mode 100644
index 8e2f1a1..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/string/matchesnu/matchesnu.2.update.aql
+++ /dev/null
@@ -1,13 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_matchesnull.adm";
-
-let $c1 := matches("helloworld",null)
-let $c2 := matches("",null)
-let $c3 := matches(null,null)
-let $c4 := matches2("helloworld",null, "")
-let $c5 := matches2("",null, "i")
-let $c6 := matches2(null,null, null)
-return {"result1": $c1, "result2": $c2, "result3": $c3, "result4": $c4, "result5": $c5, "result6": $c6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matchesnu/matchesnu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/matchesnu/matchesnu.3.query.aql
deleted file mode 100644
index 8e2f1a1..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/string/matchesnu/matchesnu.3.query.aql
+++ /dev/null
@@ -1,13 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_matchesnull.adm";
-
-let $c1 := matches("helloworld",null)
-let $c2 := matches("",null)
-let $c3 := matches(null,null)
-let $c4 := matches2("helloworld",null, "")
-let $c5 := matches2("",null, "i")
-let $c6 := matches2(null,null, null)
-return {"result1": $c1, "result2": $c2, "result3": $c3, "result4": $c4, "result5": $c5, "result6": $c6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matchesnull/matchesnull.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/matchesnull/matchesnull.1.ddl.aql
new file mode 100644
index 0000000..754ea81
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matchesnull/matchesnull.1.ddl.aql
@@ -0,0 +1,3 @@
+drop dataverse test if exists;
+create dataverse test;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matchesnull/matchesnull.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/matchesnull/matchesnull.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matchesnull/matchesnull.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/matchesnu/matchesnu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/matchesnull/matchesnull.3.query.aql
similarity index 75%
rename from asterix-app/src/test/resources/runtimets/queries/string/matchesnu/matchesnu.1.ddl.aql
rename to asterix-app/src/test/resources/runtimets/queries/string/matchesnull/matchesnull.3.query.aql
index 8e2f1a1..5f01b89 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/matchesnu/matchesnu.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/matchesnull/matchesnull.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_matchesnull.adm";
-
 let $c1 := matches("helloworld",null)
 let $c2 := matches("",null)
 let $c3 := matches(null,null)
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/owercase/owercase.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/owercase/owercase.1.ddl.aql
deleted file mode 100644
index 4c45007..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/string/owercase/owercase.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/string_lowercase.adm";
-
-let $c1 := lowercase("HEllow")
-let $c2 := lowercase("")
-let $c3 := lowercase(null)
-return {"result1": $c1, "result2": $c2, "result3": $c3}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/owercase/owercase.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/owercase/owercase.2.update.aql
deleted file mode 100644
index 4c45007..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/string/owercase/owercase.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/string_lowercase.adm";
-
-let $c1 := lowercase("HEllow")
-let $c2 := lowercase("")
-let $c3 := lowercase(null)
-return {"result1": $c1, "result2": $c2, "result3": $c3}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/replace1/replace1.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/replace1/replace1.1.ddl.aql
index 3a9e932..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/replace1/replace1.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/replace1/replace1.1.ddl.aql
@@ -1,10 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_replace1.adm";
-
-let $c1 := replace("abracadabra", "a", "")
-let $c2 := replace("abracadabra", "a(.)", "a$1$1")
-let $c3 := replace("darted", "^(.*?)d(.*)$", "$1c$2")
-return {"result1": $c1, "result2": $c2, "result3": $c3}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/replace1/replace1.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/replace1/replace1.2.update.aql
index 3a9e932..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/replace1/replace1.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/replace1/replace1.2.update.aql
@@ -1,10 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_replace1.adm";
-
-let $c1 := replace("abracadabra", "a", "")
-let $c2 := replace("abracadabra", "a(.)", "a$1$1")
-let $c3 := replace("darted", "^(.*?)d(.*)$", "$1c$2")
-return {"result1": $c1, "result2": $c2, "result3": $c3}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/replace1/replace1.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/replace1/replace1.3.query.aql
index 3a9e932..6a2b9c4 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/replace1/replace1.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/replace1/replace1.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_replace1.adm";
-
 let $c1 := replace("abracadabra", "a", "")
 let $c2 := replace("abracadabra", "a(.)", "a$1$1")
 let $c3 := replace("darted", "^(.*?)d(.*)$", "$1c$2")
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/replace2/replace2.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/replace2/replace2.1.ddl.aql
index 9b924f2..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/replace2/replace2.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/replace2/replace2.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_replace2.adm";
-
-let $c1 := replace("abracadabra", "bra", "*")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/replace2/replace2.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/replace2/replace2.2.update.aql
index 9b924f2..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/replace2/replace2.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/replace2/replace2.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_replace2.adm";
-
-let $c1 := replace("abracadabra", "bra", "*")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/replace2/replace2.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/replace2/replace2.3.query.aql
index 9b924f2..4d1eac9 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/replace2/replace2.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/replace2/replace2.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_replace2.adm";
-
 let $c1 := replace("abracadabra", "bra", "*")
 return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/replace21/replace21.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/replace21/replace21.1.ddl.aql
index 77c0c90..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/replace21/replace21.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/replace21/replace21.1.ddl.aql
@@ -1,10 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_replace21.adm";
-
-let $c1 := replace2("abracadabra","Bra", "kkk" , "")
-let $c2 := replace2("abracadabra","Bra", "kkk" ,"i")
-let $c3 := replace2("helloworld","hello world", "kkk" , "x")
-return {"result1": $c1,"result2": $c2,"result3": $c3}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/replace21/replace21.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/replace21/replace21.2.update.aql
index 77c0c90..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/replace21/replace21.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/replace21/replace21.2.update.aql
@@ -1,10 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_replace21.adm";
-
-let $c1 := replace2("abracadabra","Bra", "kkk" , "")
-let $c2 := replace2("abracadabra","Bra", "kkk" ,"i")
-let $c3 := replace2("helloworld","hello world", "kkk" , "x")
-return {"result1": $c1,"result2": $c2,"result3": $c3}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/replace21/replace21.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/replace21/replace21.3.query.aql
index 77c0c90..a814373 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/replace21/replace21.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/replace21/replace21.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_replace21.adm";
-
 let $c1 := replace2("abracadabra","Bra", "kkk" , "")
 let $c2 := replace2("abracadabra","Bra", "kkk" ,"i")
 let $c3 := replace2("helloworld","hello world", "kkk" , "x")
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/replace22/replace22.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/replace22/replace22.1.ddl.aql
index 2a0d5d6..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/replace22/replace22.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/replace22/replace22.1.ddl.aql
@@ -1,15 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_replace22.adm";
-
-let $c1 := replace2("abracadabra","", null , null)
-let $c2 := replace2("abracadabra","bra", "XXX" ,"")
-let $c3 := replace2(null,"hello world", "XxXx" , "x")
-let $c4 := replace2("abracadabra","bra", "XXX" ,null)
-let $c5 := replace2("abracadabra",null, "XXX" ,null)
-let $c6 := replace2("abracadabra","Bra", null ,"i")
-let $c7 := replace2("abracadabra","Bra", "" ,"i")
-let $c8 := replace2("abracadabra","", "XXX" ,"")
-return {"result1": $c1,"result2": $c2,"result3": $c3,"result4": $c4,"result5": $c5,"result6": $c6,"result7": $c7,"result8": $c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/replace22/replace22.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/replace22/replace22.2.update.aql
index 2a0d5d6..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/replace22/replace22.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/replace22/replace22.2.update.aql
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_replace22.adm";
-
-let $c1 := replace2("abracadabra","", null , null)
-let $c2 := replace2("abracadabra","bra", "XXX" ,"")
-let $c3 := replace2(null,"hello world", "XxXx" , "x")
-let $c4 := replace2("abracadabra","bra", "XXX" ,null)
-let $c5 := replace2("abracadabra",null, "XXX" ,null)
-let $c6 := replace2("abracadabra","Bra", null ,"i")
-let $c7 := replace2("abracadabra","Bra", "" ,"i")
-let $c8 := replace2("abracadabra","", "XXX" ,"")
-return {"result1": $c1,"result2": $c2,"result3": $c3,"result4": $c4,"result5": $c5,"result6": $c6,"result7": $c7,"result8": $c8}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/replace22/replace22.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/replace22/replace22.3.query.aql
index 2a0d5d6..1dcbe08 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/replace22/replace22.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/replace22/replace22.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_replace22.adm";
-
 let $c1 := replace2("abracadabra","", null , null)
 let $c2 := replace2("abracadabra","bra", "XXX" ,"")
 let $c3 := replace2(null,"hello world", "XxXx" , "x")
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/replace3/replace3.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/replace3/replace3.1.ddl.aql
index c1892dd..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/replace3/replace3.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/replace3/replace3.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_replace3.adm";
-
-let $c1 := replace("abracadabra", "a.*a", "*")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/replace3/replace3.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/replace3/replace3.2.update.aql
index c1892dd..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/replace3/replace3.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/replace3/replace3.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_replace3.adm";
-
-let $c1 := replace("abracadabra", "a.*a", "*")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/replace3/replace3.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/replace3/replace3.3.query.aql
index c1892dd..d032af4 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/replace3/replace3.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/replace3/replace3.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_replace3.adm";
-
 let $c1 := replace("abracadabra", "a.*a", "*")
 return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/start-with1/start-with1.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/start-with1/start-with1.1.ddl.aql
index 11ac150..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/start-with1/start-with1.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/start-with1/start-with1.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_start-with1.adm";
-
-let $c1 := start-with("start","st")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/start-with1/start-with1.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/start-with1/start-with1.2.update.aql
index 11ac150..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/start-with1/start-with1.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/start-with1/start-with1.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_start-with1.adm";
-
-let $c1 := start-with("start","st")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/start-with1/start-with1.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/start-with1/start-with1.3.query.aql
index 11ac150..c9b67b5 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/start-with1/start-with1.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/start-with1/start-with1.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_start-with1.adm";
-
 let $c1 := start-with("start","st")
 return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/start-with2/start-with2.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/start-with2/start-with2.1.ddl.aql
index 6d02c9a..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/start-with2/start-with2.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/start-with2/start-with2.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_start-with2.adm";
-
-let $c1 := start-with("start","t")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/start-with2/start-with2.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/start-with2/start-with2.2.update.aql
index 6d02c9a..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/start-with2/start-with2.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/start-with2/start-with2.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_start-with2.adm";
-
-let $c1 := start-with("start","t")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/start-with2/start-with2.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/start-with2/start-with2.3.query.aql
index 6d02c9a..8df6e95 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/start-with2/start-with2.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/start-with2/start-with2.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_start-with2.adm";
-
 let $c1 := start-with("start","t")
 return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/start-with3/start-with3.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/start-with3/start-with3.1.ddl.aql
index a70dc33..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/start-with3/start-with3.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/start-with3/start-with3.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_start-with3.adm";
-
-let $c1 := start-with("start","start")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/start-with3/start-with3.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/start-with3/start-with3.2.update.aql
index a70dc33..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/start-with3/start-with3.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/start-with3/start-with3.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_start-with3.adm";
-
-let $c1 := start-with("start","start")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/start-with3/start-with3.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/start-with3/start-with3.3.query.aql
index a70dc33..c3e3a32 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/start-with3/start-with3.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/start-with3/start-with3.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_start-with3.adm";
-
 let $c1 := start-with("start","start")
 return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/start-with4/start-with4.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/start-with4/start-with4.1.ddl.aql
index 3629093..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/start-with4/start-with4.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/start-with4/start-with4.1.ddl.aql
@@ -1,14 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_start-with4.adm";
-
-let $c1 := start-with("start","")
-let $c2 := start-with("start",null)
-let $c3 := start-with(null,null)
-let $c4 := start-with("",null)
-let $c5 := start-with("","")
-let $c6 := start-with(null,"")
-
-return {"f1": $c1, "f2": $c2, "f3": $c3, "f4": $c4, "f5": $c5, "f6": $c6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/start-with4/start-with4.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/start-with4/start-with4.2.update.aql
index 3629093..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/start-with4/start-with4.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/start-with4/start-with4.2.update.aql
@@ -1,14 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_start-with4.adm";
-
-let $c1 := start-with("start","")
-let $c2 := start-with("start",null)
-let $c3 := start-with(null,null)
-let $c4 := start-with("",null)
-let $c5 := start-with("","")
-let $c6 := start-with(null,"")
-
-return {"f1": $c1, "f2": $c2, "f3": $c3, "f4": $c4, "f5": $c5, "f6": $c6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/start-with4/start-with4.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/start-with4/start-with4.3.query.aql
index 3629093..90a58f7 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/start-with4/start-with4.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/start-with4/start-with4.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_start-with4.adm";
-
 let $c1 := start-with("start","")
 let $c2 := start-with("start",null)
 let $c3 := start-with(null,null)
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/start-with5/start-with5.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/start-with5/start-with5.1.ddl.aql
index 33a0b8e..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/start-with5/start-with5.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/start-with5/start-with5.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_start-with5.adm";
-
-let $c1 := start-with("","s")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/start-with5/start-with5.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/start-with5/start-with5.2.update.aql
index 33a0b8e..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/start-with5/start-with5.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/start-with5/start-with5.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_start-with5.adm";
-
-let $c1 := start-with("","s")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/start-with5/start-with5.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/start-with5/start-with5.3.query.aql
index 33a0b8e..2008dfc 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/start-with5/start-with5.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/start-with5/start-with5.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_start-with5.adm";
-
 let $c1 := start-with("","s")
 return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/starts-with_01/starts-with_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/starts-with_01/starts-with_01.1.ddl.aql
index ed36e2d..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/starts-with_01/starts-with_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/starts-with_01/starts-with_01.1.ddl.aql
@@ -1,9 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_starts-with_01.adm";
-
-for $x in ["foofoo"]
-for $y in ["barbar"]
-return [starts-with($x, "ba"), starts-with($y, "ba")]
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/starts-with_01/starts-with_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/starts-with_01/starts-with_01.2.update.aql
index ed36e2d..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/starts-with_01/starts-with_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/starts-with_01/starts-with_01.2.update.aql
@@ -1,9 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_starts-with_01.adm";
-
-for $x in ["foofoo"]
-for $y in ["barbar"]
-return [starts-with($x, "ba"), starts-with($y, "ba")]
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/starts-with_01/starts-with_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/starts-with_01/starts-with_01.3.query.aql
index ed36e2d..3ad623c 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/starts-with_01/starts-with_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/starts-with_01/starts-with_01.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_starts-with_01.adm";
-
 for $x in ["foofoo"]
 for $y in ["barbar"]
 return [starts-with($x, "ba"), starts-with($y, "ba")]
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/startwith02/startwith02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/startwith02/startwith02.1.ddl.aql
index b4ab93a..fc5d025 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/startwith02/startwith02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/startwith02/startwith02.1.ddl.aql
@@ -5,22 +5,4 @@
  * Date          : 19th April 2012
  */
 
-write output to nc1:"rttest/string_startwith02.adm";
-
-for $a in [start-with("Hello","H"),
-start-with("Hello",lowercase("He")),
-start-with("Hello",""),
-start-with("Hello"," "),
-start-with("Hello",null),
-start-with("abcdef",lowercase("ABCDEf")),
-start-with("abcdef","abcdef"),
-start-with("abcdef","abc "),
-start-with("abc\tdef","abc\t"),
-start-with(" abcdef","abc"),
-start-with("0x1FF","0"),
-start-with("<ID>","<"),
-start-with("aBCDEFghI",codepoint-to-string([0041])),
-start-with("AbCDEFghI",codepoint-to-string([0041]))]
-return $a
-
 
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/startwith02/startwith02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/startwith02/startwith02.2.update.aql
index b4ab93a..886f050 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/startwith02/startwith02.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/startwith02/startwith02.2.update.aql
@@ -5,22 +5,3 @@
  * Date          : 19th April 2012
  */
 
-write output to nc1:"rttest/string_startwith02.adm";
-
-for $a in [start-with("Hello","H"),
-start-with("Hello",lowercase("He")),
-start-with("Hello",""),
-start-with("Hello"," "),
-start-with("Hello",null),
-start-with("abcdef",lowercase("ABCDEf")),
-start-with("abcdef","abcdef"),
-start-with("abcdef","abc "),
-start-with("abc\tdef","abc\t"),
-start-with(" abcdef","abc"),
-start-with("0x1FF","0"),
-start-with("<ID>","<"),
-start-with("aBCDEFghI",codepoint-to-string([0041])),
-start-with("AbCDEFghI",codepoint-to-string([0041]))]
-return $a
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/startwith02/startwith02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/startwith02/startwith02.3.query.aql
index b4ab93a..7d6c8c1 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/startwith02/startwith02.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/startwith02/startwith02.3.query.aql
@@ -5,8 +5,6 @@
  * Date          : 19th April 2012
  */
 
-write output to nc1:"rttest/string_startwith02.adm";
-
 for $a in [start-with("Hello","H"),
 start-with("Hello",lowercase("He")),
 start-with("Hello",""),
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/startwith03/startwith03.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/startwith03/startwith03.1.ddl.aql
index baa7d0b..f6c94d8 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/startwith03/startwith03.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/startwith03/startwith03.1.ddl.aql
@@ -9,27 +9,8 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type TestType as {
 name:string
 }
 
-create dataset testds(TestType) primary key name;
-
-insert into dataset testds({"name":"John Smith"});
-insert into dataset testds({"name":"John Doe"});
-insert into dataset testds({"name":"John Wayne"});
-insert into dataset testds({"name":"Johnson Ben"});
-insert into dataset testds({"name":"Johnny Walker"});
-insert into dataset testds({"name":"David Smith"});
-insert into dataset testds({"name":"Not a Name"});
-
-write output to nc1:"rttest/string_startwith03.adm";
-
-// Return all names that start with John
-
-for $l in dataset('testds')
-order by $l.name
-where start-with($l.name,"John")
-return $l
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/startwith03/startwith03.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/startwith03/startwith03.2.update.aql
index baa7d0b..cfd5940 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/startwith03/startwith03.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/startwith03/startwith03.2.update.aql
@@ -7,14 +7,8 @@
 
 // Create internal dataset, insert string data into string field and pass the string field as first input to start-with function
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type TestType as {
-name:string
-}
-
 create dataset testds(TestType) primary key name;
 
 insert into dataset testds({"name":"John Smith"});
@@ -25,11 +19,3 @@
 insert into dataset testds({"name":"David Smith"});
 insert into dataset testds({"name":"Not a Name"});
 
-write output to nc1:"rttest/string_startwith03.adm";
-
-// Return all names that start with John
-
-for $l in dataset('testds')
-order by $l.name
-where start-with($l.name,"John")
-return $l
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/startwith03/startwith03.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/startwith03/startwith03.3.query.aql
index baa7d0b..7cfa56b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/startwith03/startwith03.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/startwith03/startwith03.3.query.aql
@@ -7,26 +7,8 @@
 
 // Create internal dataset, insert string data into string field and pass the string field as first input to start-with function
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type TestType as {
-name:string
-}
-
-create dataset testds(TestType) primary key name;
-
-insert into dataset testds({"name":"John Smith"});
-insert into dataset testds({"name":"John Doe"});
-insert into dataset testds({"name":"John Wayne"});
-insert into dataset testds({"name":"Johnson Ben"});
-insert into dataset testds({"name":"Johnny Walker"});
-insert into dataset testds({"name":"David Smith"});
-insert into dataset testds({"name":"Not a Name"});
-
-write output to nc1:"rttest/string_startwith03.adm";
-
 // Return all names that start with John
 
 for $l in dataset('testds')
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/strconcat01/strconcat01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/strconcat01/strconcat01.1.ddl.aql
index 5266fa1..d223292 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/strconcat01/strconcat01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/strconcat01/strconcat01.1.ddl.aql
@@ -9,7 +9,6 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type TestType as open{
 id:int32,
@@ -17,22 +16,3 @@
 lname:string
 }
 
-create dataset testds(TestType) primary key id;
-
-// insert string data into internal dataset testds into the name attribute
-
-insert into dataset testds({"id":123,"fname":"John","lname":"Smith"});
-insert into dataset testds({"id":124,"fname":"Bob","lname":"Jones"});
-insert into dataset testds({"id":125,"fname":"Mike","lname":"Carey"});
-insert into dataset testds({"id":126,"fname":"Chen","lname":"Li"});
-insert into dataset testds({"id":121,"fname":"Young Seok","lname":"Kim"});
-insert into dataset testds({"id":122,"fname":"Alex","lname":"Behm"});
-insert into dataset testds({"id":127,"fname":"Raman","lname":"Grover"});
-insert into dataset testds({"id":128,"fname":"Yingyi","lname":"Bu"});
-insert into dataset testds({"id":129,"fname":"Vinayak","lname":"Borkar"});
-
-write output to nc1:"rttest/string_strconcat01.adm";
-
-for $l in dataset('testds')
-order by $l.id
-return { "Full Name": string-concat([$l.fname,$l.lname]) }
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/strconcat01/strconcat01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/strconcat01/strconcat01.2.update.aql
index 5266fa1..973dd83 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/strconcat01/strconcat01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/strconcat01/strconcat01.2.update.aql
@@ -7,16 +7,8 @@
  */
 
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type TestType as open{
-id:int32,
-fname:string,
-lname:string
-}
-
 create dataset testds(TestType) primary key id;
 
 // insert string data into internal dataset testds into the name attribute
@@ -31,8 +23,3 @@
 insert into dataset testds({"id":128,"fname":"Yingyi","lname":"Bu"});
 insert into dataset testds({"id":129,"fname":"Vinayak","lname":"Borkar"});
 
-write output to nc1:"rttest/string_strconcat01.adm";
-
-for $l in dataset('testds')
-order by $l.id
-return { "Full Name": string-concat([$l.fname,$l.lname]) }
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/strconcat01/strconcat01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/strconcat01/strconcat01.3.query.aql
index 5266fa1..422bd74 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/strconcat01/strconcat01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/strconcat01/strconcat01.3.query.aql
@@ -7,32 +7,8 @@
  */
 
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type TestType as open{
-id:int32,
-fname:string,
-lname:string
-}
-
-create dataset testds(TestType) primary key id;
-
-// insert string data into internal dataset testds into the name attribute
-
-insert into dataset testds({"id":123,"fname":"John","lname":"Smith"});
-insert into dataset testds({"id":124,"fname":"Bob","lname":"Jones"});
-insert into dataset testds({"id":125,"fname":"Mike","lname":"Carey"});
-insert into dataset testds({"id":126,"fname":"Chen","lname":"Li"});
-insert into dataset testds({"id":121,"fname":"Young Seok","lname":"Kim"});
-insert into dataset testds({"id":122,"fname":"Alex","lname":"Behm"});
-insert into dataset testds({"id":127,"fname":"Raman","lname":"Grover"});
-insert into dataset testds({"id":128,"fname":"Yingyi","lname":"Bu"});
-insert into dataset testds({"id":129,"fname":"Vinayak","lname":"Borkar"});
-
-write output to nc1:"rttest/string_strconcat01.adm";
-
 for $l in dataset('testds')
 order by $l.id
 return { "Full Name": string-concat([$l.fname,$l.lname]) }
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/strconcat02/strconcat02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/strconcat02/strconcat02.1.ddl.aql
index 4991bde..fdf5ee8 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/strconcat02/strconcat02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/strconcat02/strconcat02.1.ddl.aql
@@ -5,7 +5,3 @@
  */
 
 
-write output to nc1:"rttest/string_strconcat02.adm";
-
-for $a in [string-concat([codepoint-to-string(string-to-codepoint("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")),codepoint-to-string(string-to-codepoint("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")),codepoint-to-string(string-to-codepoint("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"))]),string-concat([" ","a","b","  ","c","d","e","f","g","p","o","q","r","s","t"," "]),string-concat(["This is a test","and all tests must pass","and life is good..."])]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/strconcat02/strconcat02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/strconcat02/strconcat02.2.update.aql
index 4991bde..cad71cb 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/strconcat02/strconcat02.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/strconcat02/strconcat02.2.update.aql
@@ -4,8 +4,3 @@
  * Date           : 16th April 2012
  */
 
-
-write output to nc1:"rttest/string_strconcat02.adm";
-
-for $a in [string-concat([codepoint-to-string(string-to-codepoint("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")),codepoint-to-string(string-to-codepoint("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")),codepoint-to-string(string-to-codepoint("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"))]),string-concat([" ","a","b","  ","c","d","e","f","g","p","o","q","r","s","t"," "]),string-concat(["This is a test","and all tests must pass","and life is good..."])]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/strconcat02/strconcat02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/strconcat02/strconcat02.3.query.aql
index 4991bde..10078a7 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/strconcat02/strconcat02.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/strconcat02/strconcat02.3.query.aql
@@ -5,7 +5,5 @@
  */
 
 
-write output to nc1:"rttest/string_strconcat02.adm";
-
 for $a in [string-concat([codepoint-to-string(string-to-codepoint("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")),codepoint-to-string(string-to-codepoint("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")),codepoint-to-string(string-to-codepoint("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"))]),string-concat([" ","a","b","  ","c","d","e","f","g","p","o","q","r","s","t"," "]),string-concat(["This is a test","and all tests must pass","and life is good..."])]
 return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/string-concat1/string-concat1.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/string-concat1/string-concat1.1.ddl.aql
index b31e33c..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/string-concat1/string-concat1.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/string-concat1/string-concat1.1.ddl.aql
@@ -1,9 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_string-concat1.adm";
-
-let $x :=  ["aa", "25991", "bb", "31526"]
-let $c := string-concat($x)
-return {"result1": $c}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/string-concat1/string-concat1.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/string-concat1/string-concat1.2.update.aql
index b31e33c..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/string-concat1/string-concat1.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/string-concat1/string-concat1.2.update.aql
@@ -1,9 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_string-concat1.adm";
-
-let $x :=  ["aa", "25991", "bb", "31526"]
-let $c := string-concat($x)
-return {"result1": $c}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/string-concat1/string-concat1.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/string-concat1/string-concat1.3.query.aql
index b31e33c..331c299 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/string-concat1/string-concat1.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/string-concat1/string-concat1.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_string-concat1.adm";
-
 let $x :=  ["aa", "25991", "bb", "31526"]
 let $c := string-concat($x)
 return {"result1": $c}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/string-equal1/string-equal1.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/string-equal1/string-equal1.1.ddl.aql
index 62ec56d..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/string-equal1/string-equal1.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/string-equal1/string-equal1.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_string-equal1.adm";
-
-let $c1 := string-equal("test","tess")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/string-equal1/string-equal1.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/string-equal1/string-equal1.2.update.aql
index 62ec56d..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/string-equal1/string-equal1.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/string-equal1/string-equal1.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_string-equal1.adm";
-
-let $c1 := string-equal("test","tess")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/string-equal1/string-equal1.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/string-equal1/string-equal1.3.query.aql
index 62ec56d..954ac57 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/string-equal1/string-equal1.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/string-equal1/string-equal1.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_string-equal1.adm";
-
 let $c1 := string-equal("test","tess")
 return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/string-equal2/string-equal2.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/string-equal2/string-equal2.1.ddl.aql
index a102802..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/string-equal2/string-equal2.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/string-equal2/string-equal2.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_string-equal2.adm";
-
-let $c1 := string-equal("test","test")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/string-equal2/string-equal2.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/string-equal2/string-equal2.2.update.aql
index a102802..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/string-equal2/string-equal2.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/string-equal2/string-equal2.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_string-equal2.adm";
-
-let $c1 := string-equal("test","test")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/string-equal2/string-equal2.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/string-equal2/string-equal2.3.query.aql
index a102802..66af45d 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/string-equal2/string-equal2.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/string-equal2/string-equal2.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_string-equal2.adm";
-
 let $c1 := string-equal("test","test")
 return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/string-equal3/string-equal3.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/string-equal3/string-equal3.1.ddl.aql
index 2749390..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/string-equal3/string-equal3.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/string-equal3/string-equal3.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_string-equal3.adm";
-
-let $c1 := string-equal("test11","test")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/string-equal3/string-equal3.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/string-equal3/string-equal3.2.update.aql
index 2749390..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/string-equal3/string-equal3.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/string-equal3/string-equal3.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_string-equal3.adm";
-
-let $c1 := string-equal("test11","test")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/string-equal3/string-equal3.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/string-equal3/string-equal3.3.query.aql
index 2749390..fe3b341 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/string-equal3/string-equal3.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/string-equal3/string-equal3.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_string-equal3.adm";
-
 let $c1 := string-equal("test11","test")
 return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/string-equal4/string-equal4.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/string-equal4/string-equal4.1.ddl.aql
index f1cf243..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/string-equal4/string-equal4.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/string-equal4/string-equal4.1.ddl.aql
@@ -1,11 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_string-equal4.adm";
-
-let $c1 := string-equal("","")
-let $c3 := string-equal(null,"")
-let $c4 := string-equal("",null)
-let $c5 := string-equal(null,null)
-return {"result1": $c1, "result3": $c3, "result4": $c4, "result5": $c5}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/string-equal4/string-equal4.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/string-equal4/string-equal4.2.update.aql
index f1cf243..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/string-equal4/string-equal4.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/string-equal4/string-equal4.2.update.aql
@@ -1,11 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_string-equal4.adm";
-
-let $c1 := string-equal("","")
-let $c3 := string-equal(null,"")
-let $c4 := string-equal("",null)
-let $c5 := string-equal(null,null)
-return {"result1": $c1, "result3": $c3, "result4": $c4, "result5": $c5}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/string-equal4/string-equal4.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/string-equal4/string-equal4.3.query.aql
index f1cf243..2b5166c 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/string-equal4/string-equal4.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/string-equal4/string-equal4.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_string-equal4.adm";
-
 let $c1 := string-equal("","")
 let $c3 := string-equal(null,"")
 let $c4 := string-equal("",null)
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/string-join1/string-join1.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/string-join1/string-join1.1.ddl.aql
index 0ea2bdd..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/string-join1/string-join1.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/string-join1/string-join1.1.ddl.aql
@@ -1,11 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_string-join1.adm";
-
-let $x :=  ["aa", "25991", "bb", "31526"]
-let $s := "::"
-let $c := string-join($x,$s)
-let $c1 := string-join($x,"")
-return {"result0": $c,"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/string-join1/string-join1.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/string-join1/string-join1.2.update.aql
index 0ea2bdd..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/string-join1/string-join1.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/string-join1/string-join1.2.update.aql
@@ -1,11 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_string-join1.adm";
-
-let $x :=  ["aa", "25991", "bb", "31526"]
-let $s := "::"
-let $c := string-join($x,$s)
-let $c1 := string-join($x,"")
-return {"result0": $c,"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/string-join1/string-join1.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/string-join1/string-join1.3.query.aql
index 0ea2bdd..6d4f980 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/string-join1/string-join1.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/string-join1/string-join1.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_string-join1.adm";
-
 let $x :=  ["aa", "25991", "bb", "31526"]
 let $s := "::"
 let $c := string-join($x,$s)
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/string-to-codepoint/string-to-codepoint.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/string-to-codepoint/string-to-codepoint.1.ddl.aql
index 2f1daba..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/string-to-codepoint/string-to-codepoint.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/string-to-codepoint/string-to-codepoint.1.ddl.aql
@@ -1,9 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_string-to-codepoint.adm";
-
-let $x :=  "abcd"
-let $c := string-to-codepoint($x)
-return {"result1": $c}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/string-to-codepoint/string-to-codepoint.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/string-to-codepoint/string-to-codepoint.2.update.aql
index 2f1daba..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/string-to-codepoint/string-to-codepoint.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/string-to-codepoint/string-to-codepoint.2.update.aql
@@ -1,9 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_string-to-codepoint.adm";
-
-let $x :=  "abcd"
-let $c := string-to-codepoint($x)
-return {"result1": $c}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/string-to-codepoint/string-to-codepoint.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/string-to-codepoint/string-to-codepoint.3.query.aql
index 2f1daba..db332bd 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/string-to-codepoint/string-to-codepoint.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/string-to-codepoint/string-to-codepoint.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_string-to-codepoint.adm";
-
 let $x :=  "abcd"
 let $c := string-to-codepoint($x)
 return {"result1": $c}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/string-to-codepoint1/string-to-codepoint1.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/string-to-codepoint1/string-to-codepoint1.1.ddl.aql
index 5bcfd16..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/string-to-codepoint1/string-to-codepoint1.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/string-to-codepoint1/string-to-codepoint1.1.ddl.aql
@@ -1,10 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_string-to-codepoint1.adm";
-
-let $x :=  ""
-let $c := string-to-codepoint($x)
-
-return {"result1": $c}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/string-to-codepoint1/string-to-codepoint1.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/string-to-codepoint1/string-to-codepoint1.2.update.aql
index 5bcfd16..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/string-to-codepoint1/string-to-codepoint1.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/string-to-codepoint1/string-to-codepoint1.2.update.aql
@@ -1,10 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_string-to-codepoint1.adm";
-
-let $x :=  ""
-let $c := string-to-codepoint($x)
-
-return {"result1": $c}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/string-to-codepoint1/string-to-codepoint1.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/string-to-codepoint1/string-to-codepoint1.3.query.aql
index 5bcfd16..d3a4a68 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/string-to-codepoint1/string-to-codepoint1.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/string-to-codepoint1/string-to-codepoint1.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_string-to-codepoint1.adm";
-
 let $x :=  ""
 let $c := string-to-codepoint($x)
 
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/strlen02/strlen02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/strlen02/strlen02.1.ddl.aql
index 852570f..1e3cfc8 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/strlen02/strlen02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/strlen02/strlen02.1.ddl.aql
@@ -16,12 +16,3 @@
 return $a
 */
 
-write output to nc1:"rttest/string_strlen02.adm";
-
-for $a in [ string-length("abcdefghijklmnopqrstu"),
-string-length("ABCDEFGHIJKLMNOPQRSTU"),
-string-length("abcdEFGHijklMNOPqrstu"),
-string-length("abcd EFGH ijkl MNOP qrstu"),
-string-length("   Hello World    !!!!....:-)"),
-string-length("~!@#$%^&*()_+{}:?<>/.,';`][\")]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/strlen02/strlen02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/strlen02/strlen02.2.update.aql
index 852570f..1e3cfc8 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/strlen02/strlen02.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/strlen02/strlen02.2.update.aql
@@ -16,12 +16,3 @@
 return $a
 */
 
-write output to nc1:"rttest/string_strlen02.adm";
-
-for $a in [ string-length("abcdefghijklmnopqrstu"),
-string-length("ABCDEFGHIJKLMNOPQRSTU"),
-string-length("abcdEFGHijklMNOPqrstu"),
-string-length("abcd EFGH ijkl MNOP qrstu"),
-string-length("   Hello World    !!!!....:-)"),
-string-length("~!@#$%^&*()_+{}:?<>/.,';`][\")]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/strlen02/strlen02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/strlen02/strlen02.3.query.aql
index 852570f..564ca83 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/strlen02/strlen02.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/strlen02/strlen02.3.query.aql
@@ -16,7 +16,6 @@
 return $a
 */
 
-write output to nc1:"rttest/string_strlen02.adm";
 
 for $a in [ string-length("abcdefghijklmnopqrstu"),
 string-length("ABCDEFGHIJKLMNOPQRSTU"),
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/strlen03/strlen03.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/strlen03/strlen03.1.ddl.aql
index ddff7ed..856058f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/strlen03/strlen03.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/strlen03/strlen03.1.ddl.aql
@@ -9,29 +9,8 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type TestType as {
 name:string
 }
 
-create dataset testds(TestType) primary key name;
-
-insert into dataset testds({"name":"Maradona"});
-insert into dataset testds({"name":"Pele"});
-insert into dataset testds({"name":"Roberto Baggio"});
-insert into dataset testds({"name":"Beckham David"});
-insert into dataset testds({"name":"Rooney"});
-insert into dataset testds({"name":"Ronaldinho"});
-insert into dataset testds({"name":"Ronaldo"});
-insert into dataset testds({"name":"Zinadine Zidane"});
-insert into dataset testds({"name":"Cristiano Ronaldo"});
-insert into dataset testds({"name":"Messi"});
-insert into dataset testds({"name":"Tevez"});
-insert into dataset testds({"name":"Henry"});
-
-write output to nc1:"rttest/string_strlen03.adm";
-
-for $l in dataset('testds')
-order by $l.name
-return string-length($l.name)
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/strlen03/strlen03.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/strlen03/strlen03.2.update.aql
index ddff7ed..89ec7d7 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/strlen03/strlen03.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/strlen03/strlen03.2.update.aql
@@ -7,14 +7,8 @@
 
 // Create internal dataset, insert string data and pass the string attribute to string-length function, and verify results.
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type TestType as {
-name:string
-}
-
 create dataset testds(TestType) primary key name;
 
 insert into dataset testds({"name":"Maradona"});
@@ -30,8 +24,3 @@
 insert into dataset testds({"name":"Tevez"});
 insert into dataset testds({"name":"Henry"});
 
-write output to nc1:"rttest/string_strlen03.adm";
-
-for $l in dataset('testds')
-order by $l.name
-return string-length($l.name)
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/strlen03/strlen03.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/strlen03/strlen03.3.query.aql
index ddff7ed..9bcd2a4b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/strlen03/strlen03.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/strlen03/strlen03.3.query.aql
@@ -7,31 +7,8 @@
 
 // Create internal dataset, insert string data and pass the string attribute to string-length function, and verify results.
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type TestType as {
-name:string
-}
-
-create dataset testds(TestType) primary key name;
-
-insert into dataset testds({"name":"Maradona"});
-insert into dataset testds({"name":"Pele"});
-insert into dataset testds({"name":"Roberto Baggio"});
-insert into dataset testds({"name":"Beckham David"});
-insert into dataset testds({"name":"Rooney"});
-insert into dataset testds({"name":"Ronaldinho"});
-insert into dataset testds({"name":"Ronaldo"});
-insert into dataset testds({"name":"Zinadine Zidane"});
-insert into dataset testds({"name":"Cristiano Ronaldo"});
-insert into dataset testds({"name":"Messi"});
-insert into dataset testds({"name":"Tevez"});
-insert into dataset testds({"name":"Henry"});
-
-write output to nc1:"rttest/string_strlen03.adm";
-
 for $l in dataset('testds')
 order by $l.name
 return string-length($l.name)
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/strtocpt01/strtocpt01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/strtocpt01/strtocpt01.1.ddl.aql
index fdbf014..717f902c 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/strtocpt01/strtocpt01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/strtocpt01/strtocpt01.1.ddl.aql
@@ -4,7 +4,3 @@
  * Date         : 7th Aug 2012
  */
 
-write output to nc1:"rttest/string_strtocpt01.adm";
-
-let $x := "ABCDEFGHIJKLMNOPQRSTUVWXYZ-01234567890"
-return string-to-codepoint($x)
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/strtocpt01/strtocpt01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/strtocpt01/strtocpt01.2.update.aql
index fdbf014..717f902c 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/strtocpt01/strtocpt01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/strtocpt01/strtocpt01.2.update.aql
@@ -4,7 +4,3 @@
  * Date         : 7th Aug 2012
  */
 
-write output to nc1:"rttest/string_strtocpt01.adm";
-
-let $x := "ABCDEFGHIJKLMNOPQRSTUVWXYZ-01234567890"
-return string-to-codepoint($x)
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/strtocpt01/strtocpt01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/strtocpt01/strtocpt01.3.query.aql
index fdbf014..ddb626e 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/strtocpt01/strtocpt01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/strtocpt01/strtocpt01.3.query.aql
@@ -4,7 +4,6 @@
  * Date         : 7th Aug 2012
  */
 
-write output to nc1:"rttest/string_strtocpt01.adm";
 
 let $x := "ABCDEFGHIJKLMNOPQRSTUVWXYZ-01234567890"
 return string-to-codepoint($x)
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/strtocpt02/strtocpt02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/strtocpt02/strtocpt02.1.ddl.aql
index b203f6d..46872af 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/strtocpt02/strtocpt02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/strtocpt02/strtocpt02.1.ddl.aql
@@ -4,7 +4,3 @@
  * Date         : 7th Aug 2012
  */
 
-write output to nc1:"rttest/string_strtocpt02.adm";
-
-let $x := "\"'-=_+|\,./<>?:;~`"
-return string-to-codepoint($x)
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/strtocpt02/strtocpt02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/strtocpt02/strtocpt02.2.update.aql
index b203f6d..46872af 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/strtocpt02/strtocpt02.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/strtocpt02/strtocpt02.2.update.aql
@@ -4,7 +4,3 @@
  * Date         : 7th Aug 2012
  */
 
-write output to nc1:"rttest/string_strtocpt02.adm";
-
-let $x := "\"'-=_+|\,./<>?:;~`"
-return string-to-codepoint($x)
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/strtocpt02/strtocpt02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/strtocpt02/strtocpt02.3.query.aql
index b203f6d..8ce8ac8 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/strtocpt02/strtocpt02.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/strtocpt02/strtocpt02.3.query.aql
@@ -4,7 +4,5 @@
  * Date         : 7th Aug 2012
  */
 
-write output to nc1:"rttest/string_strtocpt02.adm";
-
 let $x := "\"'-=_+|\,./<>?:;~`"
 return string-to-codepoint($x)
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/strtocpt03/strtocpt03.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/strtocpt03/strtocpt03.1.ddl.aql
index 6daf0fe..46872af 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/strtocpt03/strtocpt03.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/strtocpt03/strtocpt03.1.ddl.aql
@@ -4,7 +4,3 @@
  * Date         : 7th Aug 2012
  */
 
-write output to nc1:"rttest/string_strtocpt03.adm";
-
-let $x := "!@#$%^&*()"
-return string-to-codepoint($x)
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/strtocpt03/strtocpt03.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/strtocpt03/strtocpt03.2.update.aql
index 6daf0fe..46872af 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/strtocpt03/strtocpt03.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/strtocpt03/strtocpt03.2.update.aql
@@ -4,7 +4,3 @@
  * Date         : 7th Aug 2012
  */
 
-write output to nc1:"rttest/string_strtocpt03.adm";
-
-let $x := "!@#$%^&*()"
-return string-to-codepoint($x)
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/strtocpt03/strtocpt03.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/strtocpt03/strtocpt03.3.query.aql
index 6daf0fe..d91f7ef 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/strtocpt03/strtocpt03.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/strtocpt03/strtocpt03.3.query.aql
@@ -4,7 +4,5 @@
  * Date         : 7th Aug 2012
  */
 
-write output to nc1:"rttest/string_strtocpt03.adm";
-
 let $x := "!@#$%^&*()"
 return string-to-codepoint($x)
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substr01/substr01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/substr01/substr01.1.ddl.aql
index 791e7c0..a3ec9be 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substr01/substr01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substr01/substr01.1.ddl.aql
@@ -5,26 +5,3 @@
  * Date           : 18th April 2012
  */
 
-write output to nc1:"rttest/string_substr01.adm";
-
-let $str1:="Hello World"
-let $str2:=substring2($str1,10)
-
-let $str3:="This is a test string"
-let $str4:=substring2($str3,21)
-
-let $str5:="This is a test string"
-let $str6:=substring2($str5,22)
-
-let $str7:="This is a test string"
-let $str8:=substring2($str7,0)
-
-let $str9:="This is a test string"
-let $str10:=substring2($str9,-1)
-
-let $str11:="This is a test string"
-let $str12:="This is a another test string"
-let $str13:=substring2(string-concat([$str11,$str12]),21)
-
-let $str14:=substring2("UC Irvine",string-length("UC Irvine")/2)
-return { "str2":$str2,"str4":$str4,"str6":$str6,"str8":$str8,"str10":$str10,"str13":$str13,"str14":$str14}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substr01/substr01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/substr01/substr01.2.update.aql
index 791e7c0..a3ec9be 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substr01/substr01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substr01/substr01.2.update.aql
@@ -5,26 +5,3 @@
  * Date           : 18th April 2012
  */
 
-write output to nc1:"rttest/string_substr01.adm";
-
-let $str1:="Hello World"
-let $str2:=substring2($str1,10)
-
-let $str3:="This is a test string"
-let $str4:=substring2($str3,21)
-
-let $str5:="This is a test string"
-let $str6:=substring2($str5,22)
-
-let $str7:="This is a test string"
-let $str8:=substring2($str7,0)
-
-let $str9:="This is a test string"
-let $str10:=substring2($str9,-1)
-
-let $str11:="This is a test string"
-let $str12:="This is a another test string"
-let $str13:=substring2(string-concat([$str11,$str12]),21)
-
-let $str14:=substring2("UC Irvine",string-length("UC Irvine")/2)
-return { "str2":$str2,"str4":$str4,"str6":$str6,"str8":$str8,"str10":$str10,"str13":$str13,"str14":$str14}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substr01/substr01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/substr01/substr01.3.query.aql
index 791e7c0..422f87c 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substr01/substr01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substr01/substr01.3.query.aql
@@ -5,8 +5,6 @@
  * Date           : 18th April 2012
  */
 
-write output to nc1:"rttest/string_substr01.adm";
-
 let $str1:="Hello World"
 let $str2:=substring2($str1,10)
 
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substr04/substr04.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/substr04/substr04.1.ddl.aql
index 880499c..280e52c 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substr04/substr04.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substr04/substr04.1.ddl.aql
@@ -5,17 +5,4 @@
  * Date           : 18th April 2012
  */
 
-write output to nc1:"rttest/string_substr04.adm";
 
-for $a in [ substring2("hello world",7,11),
-substring2("hello world",1,11),
-substring2("hello world",3,7),
-substring2("ABCD",3,6),
-substring2("ABCD",0,4),
-substring2("UC Irvine",4,string-length("UC Irvine")),
-substring2("UC Irvine",0,string-length("UC Irvine")),
-substring2("UC Irvine",1,string-length("UC Irvine")),
-substring2(substring2("UC Irvine",4),0,string-length("Irvine")),
-substring2(substring2("UC Irvine",4),0,(string-length("Irvine")/2))
-]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substr04/substr04.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/substr04/substr04.2.update.aql
index 880499c..280e52c 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substr04/substr04.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substr04/substr04.2.update.aql
@@ -5,17 +5,4 @@
  * Date           : 18th April 2012
  */
 
-write output to nc1:"rttest/string_substr04.adm";
 
-for $a in [ substring2("hello world",7,11),
-substring2("hello world",1,11),
-substring2("hello world",3,7),
-substring2("ABCD",3,6),
-substring2("ABCD",0,4),
-substring2("UC Irvine",4,string-length("UC Irvine")),
-substring2("UC Irvine",0,string-length("UC Irvine")),
-substring2("UC Irvine",1,string-length("UC Irvine")),
-substring2(substring2("UC Irvine",4),0,string-length("Irvine")),
-substring2(substring2("UC Irvine",4),0,(string-length("Irvine")/2))
-]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substr04/substr04.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/substr04/substr04.3.query.aql
index 880499c..b00bea5 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substr04/substr04.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substr04/substr04.3.query.aql
@@ -5,8 +5,6 @@
  * Date           : 18th April 2012
  */
 
-write output to nc1:"rttest/string_substr04.adm";
-
 for $a in [ substring2("hello world",7,11),
 substring2("hello world",1,11),
 substring2("hello world",3,7),
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substr05/substr05.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/substr05/substr05.1.ddl.aql
index 1a33fdf..1967c1f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substr05/substr05.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substr05/substr05.1.ddl.aql
@@ -9,25 +9,8 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type TestType as open {
 name : string
 }
 
-create dataset testdst(TestType) primary key name;
-
-insert into dataset testdst({"name":"UC Berkeley"});
-insert into dataset testdst({"name":"UC Irvine"});
-insert into dataset testdst({"name":"UC LA"});
-insert into dataset testdst({"name":"UC Riverside"});
-insert into dataset testdst({"name":"UC San Diego"});
-insert into dataset testdst({"name":"UC Santa Barbara"});
-insert into dataset testdst({"name":"UT Austin "});
-insert into dataset testdst({"name":"UT Dallas"});
-
-write output to nc1:"rttest/string_substr05.adm";
-
-for $a in dataset('testdst')
-order by $a.name
-return substring2($a.name,4,string-length($a.name));
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substr05/substr05.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/substr05/substr05.2.update.aql
index 1a33fdf..4dcafbd 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substr05/substr05.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substr05/substr05.2.update.aql
@@ -7,14 +7,8 @@
 
 // To test substring2 function with string data stored in an internal dataset.
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type TestType as open {
-name : string
-}
-
 create dataset testdst(TestType) primary key name;
 
 insert into dataset testdst({"name":"UC Berkeley"});
@@ -26,8 +20,3 @@
 insert into dataset testdst({"name":"UT Austin "});
 insert into dataset testdst({"name":"UT Dallas"});
 
-write output to nc1:"rttest/string_substr05.adm";
-
-for $a in dataset('testdst')
-order by $a.name
-return substring2($a.name,4,string-length($a.name));
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substr05/substr05.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/substr05/substr05.3.query.aql
index 1a33fdf..df111b3 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substr05/substr05.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substr05/substr05.3.query.aql
@@ -7,27 +7,8 @@
 
 // To test substring2 function with string data stored in an internal dataset.
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type TestType as open {
-name : string
-}
-
-create dataset testdst(TestType) primary key name;
-
-insert into dataset testdst({"name":"UC Berkeley"});
-insert into dataset testdst({"name":"UC Irvine"});
-insert into dataset testdst({"name":"UC LA"});
-insert into dataset testdst({"name":"UC Riverside"});
-insert into dataset testdst({"name":"UC San Diego"});
-insert into dataset testdst({"name":"UC Santa Barbara"});
-insert into dataset testdst({"name":"UT Austin "});
-insert into dataset testdst({"name":"UT Dallas"});
-
-write output to nc1:"rttest/string_substr05.adm";
-
 for $a in dataset('testdst')
 order by $a.name
 return substring2($a.name,4,string-length($a.name));
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substr06/substr06.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/substr06/substr06.1.ddl.aql
index bfeff2d..1c12e15 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substr06/substr06.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substr06/substr06.1.ddl.aql
@@ -8,25 +8,8 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type TestType as open {
 name : string
 }
 
-create dataset testdst(TestType) primary key name;
-
-insert into dataset testdst({"name":"UC Berkeley"});
-insert into dataset testdst({"name":"UC Irvine"});
-insert into dataset testdst({"name":"UC LA"});
-insert into dataset testdst({"name":"UC Riverside"});
-insert into dataset testdst({"name":"UC San Diego"});
-insert into dataset testdst({"name":"UC Santa Barbara"});
-insert into dataset testdst({"name":"UT Austin "});
-insert into dataset testdst({"name":"UT Dallas"});
-
-write output to nc1:"rttest/string_substr06.adm";
-
-for $a in dataset('testdst')
-order by $a.name
-return substring2($a.name,4);
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substr06/substr06.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/substr06/substr06.2.update.aql
index bfeff2d..b3b6803 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substr06/substr06.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substr06/substr06.2.update.aql
@@ -6,14 +6,8 @@
 
 // To test substring function with string data stored in an internal dataset.
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type TestType as open {
-name : string
-}
-
 create dataset testdst(TestType) primary key name;
 
 insert into dataset testdst({"name":"UC Berkeley"});
@@ -25,8 +19,3 @@
 insert into dataset testdst({"name":"UT Austin "});
 insert into dataset testdst({"name":"UT Dallas"});
 
-write output to nc1:"rttest/string_substr06.adm";
-
-for $a in dataset('testdst')
-order by $a.name
-return substring2($a.name,4);
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substr06/substr06.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/substr06/substr06.3.query.aql
index bfeff2d..a2cb9d3 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substr06/substr06.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substr06/substr06.3.query.aql
@@ -6,27 +6,8 @@
 
 // To test substring function with string data stored in an internal dataset.
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type TestType as open {
-name : string
-}
-
-create dataset testdst(TestType) primary key name;
-
-insert into dataset testdst({"name":"UC Berkeley"});
-insert into dataset testdst({"name":"UC Irvine"});
-insert into dataset testdst({"name":"UC LA"});
-insert into dataset testdst({"name":"UC Riverside"});
-insert into dataset testdst({"name":"UC San Diego"});
-insert into dataset testdst({"name":"UC Santa Barbara"});
-insert into dataset testdst({"name":"UT Austin "});
-insert into dataset testdst({"name":"UT Dallas"});
-
-write output to nc1:"rttest/string_substr06.adm";
-
 for $a in dataset('testdst')
 order by $a.name
 return substring2($a.name,4);
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring-after-1/substring-after-1.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring-after-1/substring-after-1.1.ddl.aql
index 6c45bc8..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring-after-1/substring-after-1.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring-after-1/substring-after-1.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_substring-after-1.adm";
-
-let $c1 := substring-after("HEllow","El")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring-after-1/substring-after-1.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring-after-1/substring-after-1.2.update.aql
index 6c45bc8..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring-after-1/substring-after-1.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring-after-1/substring-after-1.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_substring-after-1.adm";
-
-let $c1 := substring-after("HEllow","El")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring-after-1/substring-after-1.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring-after-1/substring-after-1.3.query.aql
index 6c45bc8..ae3a597 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring-after-1/substring-after-1.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring-after-1/substring-after-1.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_substring-after-1.adm";
-
 let $c1 := substring-after("HEllow","El")
 return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring-after-2/substring-after-2.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring-after-2/substring-after-2.1.ddl.aql
index 78d6cad..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring-after-2/substring-after-2.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring-after-2/substring-after-2.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_substring-after-2.adm";
-
-let $c1 := substring-after("HEllow","1")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring-after-2/substring-after-2.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring-after-2/substring-after-2.2.update.aql
index 78d6cad..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring-after-2/substring-after-2.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring-after-2/substring-after-2.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_substring-after-2.adm";
-
-let $c1 := substring-after("HEllow","1")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring-after-2/substring-after-2.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring-after-2/substring-after-2.3.query.aql
index 78d6cad..ef7dd50 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring-after-2/substring-after-2.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring-after-2/substring-after-2.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_substring-after-2.adm";
-
 let $c1 := substring-after("HEllow","1")
 return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring-after-3/substring-after-3.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring-after-3/substring-after-3.1.ddl.aql
index 91c3cab..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring-after-3/substring-after-3.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring-after-3/substring-after-3.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_substring-after-3.adm";
-
-let $c1 := substring-after("HEllow","HEllow")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring-after-3/substring-after-3.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring-after-3/substring-after-3.2.update.aql
index 91c3cab..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring-after-3/substring-after-3.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring-after-3/substring-after-3.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_substring-after-3.adm";
-
-let $c1 := substring-after("HEllow","HEllow")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring-after-3/substring-after-3.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring-after-3/substring-after-3.3.query.aql
index 91c3cab..724d607 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring-after-3/substring-after-3.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring-after-3/substring-after-3.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_substring-after-3.adm";
-
 let $c1 := substring-after("HEllow","HEllow")
 return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring-after-4/substring-after-4.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring-after-4/substring-after-4.1.ddl.aql
index 73a983f..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring-after-4/substring-after-4.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring-after-4/substring-after-4.1.ddl.aql
@@ -1,12 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_substring-after-4.adm";
-
-let $c1 := substring-after("HEllow","")
-let $c2 := substring-after("HEllow",null)
-let $c3 := substring-after("",null)
-let $c4 := substring-after("","")
-let $c5 := substring-after(null,null)
-return {"result1": $c1, "result2": $c2, "result3": $c3, "result4": $c4, "result5": $c5}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring-after-4/substring-after-4.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring-after-4/substring-after-4.2.update.aql
index 73a983f..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring-after-4/substring-after-4.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring-after-4/substring-after-4.2.update.aql
@@ -1,12 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_substring-after-4.adm";
-
-let $c1 := substring-after("HEllow","")
-let $c2 := substring-after("HEllow",null)
-let $c3 := substring-after("",null)
-let $c4 := substring-after("","")
-let $c5 := substring-after(null,null)
-return {"result1": $c1, "result2": $c2, "result3": $c3, "result4": $c4, "result5": $c5}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring-after-4/substring-after-4.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring-after-4/substring-after-4.3.query.aql
index 73a983f..3bde8d0 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring-after-4/substring-after-4.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring-after-4/substring-after-4.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_substring-after-4.adm";
-
 let $c1 := substring-after("HEllow","")
 let $c2 := substring-after("HEllow",null)
 let $c3 := substring-after("",null)
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring-before-1/substring-before-1.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring-before-1/substring-before-1.1.ddl.aql
index 1fe3a36..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring-before-1/substring-before-1.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring-before-1/substring-before-1.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_substring-before-1.adm";
-
-let $c1 := substring-before("HEllow","ll")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring-before-1/substring-before-1.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring-before-1/substring-before-1.2.update.aql
index 1fe3a36..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring-before-1/substring-before-1.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring-before-1/substring-before-1.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_substring-before-1.adm";
-
-let $c1 := substring-before("HEllow","ll")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring-before-1/substring-before-1.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring-before-1/substring-before-1.3.query.aql
index 1fe3a36..6f57132 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring-before-1/substring-before-1.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring-before-1/substring-before-1.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_substring-before-1.adm";
-
 let $c1 := substring-before("HEllow","ll")
 return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring-before-2/substring-before-2.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring-before-2/substring-before-2.1.ddl.aql
index 4f59c43..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring-before-2/substring-before-2.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring-before-2/substring-before-2.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_substring-before-2.adm";
-
-let $c1 := substring-before("HEllow","HEllow")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring-before-2/substring-before-2.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring-before-2/substring-before-2.2.update.aql
index 4f59c43..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring-before-2/substring-before-2.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring-before-2/substring-before-2.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_substring-before-2.adm";
-
-let $c1 := substring-before("HEllow","HEllow")
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring-before-2/substring-before-2.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring-before-2/substring-before-2.3.query.aql
index 4f59c43..7879268 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring-before-2/substring-before-2.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring-before-2/substring-before-2.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_substring-before-2.adm";
-
 let $c1 := substring-before("HEllow","HEllow")
 return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring-before-3/substring-before-3.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring-before-3/substring-before-3.1.ddl.aql
index 9e40615..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring-before-3/substring-before-3.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring-before-3/substring-before-3.1.ddl.aql
@@ -1,12 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_substring-before-3.adm";
-
-let $c1 := substring-before("HEllow","")
-let $c2 := substring-before("HEllow",null)
-let $c3 := substring-before("",null)
-let $c4 := substring-before("","")
-let $c5 := substring-before(null,null)
-return {"result1": $c1, "result2": $c2, "result3": $c3, "result4": $c4, "result5": $c5}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring-before-3/substring-before-3.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring-before-3/substring-before-3.2.update.aql
index 9e40615..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring-before-3/substring-before-3.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring-before-3/substring-before-3.2.update.aql
@@ -1,12 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_substring-before-3.adm";
-
-let $c1 := substring-before("HEllow","")
-let $c2 := substring-before("HEllow",null)
-let $c3 := substring-before("",null)
-let $c4 := substring-before("","")
-let $c5 := substring-before(null,null)
-return {"result1": $c1, "result2": $c2, "result3": $c3, "result4": $c4, "result5": $c5}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring-before-3/substring-before-3.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring-before-3/substring-before-3.3.query.aql
index 9e40615..c0e22d4 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring-before-3/substring-before-3.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring-before-3/substring-before-3.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_substring-before-3.adm";
-
 let $c1 := substring-before("HEllow","")
 let $c2 := substring-before("HEllow",null)
 let $c3 := substring-before("",null)
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring2-1/substring2-1.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring2-1/substring2-1.1.ddl.aql
index 78beb56..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring2-1/substring2-1.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring2-1/substring2-1.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_substring2-1.adm";
-
-let $c1 := substring2("HEllow",2)
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring2-1/substring2-1.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring2-1/substring2-1.2.update.aql
index 78beb56..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring2-1/substring2-1.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring2-1/substring2-1.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_substring2-1.adm";
-
-let $c1 := substring2("HEllow",2)
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring2-1/substring2-1.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring2-1/substring2-1.3.query.aql
index 78beb56..2ef7ba8 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring2-1/substring2-1.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring2-1/substring2-1.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_substring2-1.adm";
-
 let $c1 := substring2("HEllow",2)
 return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring2-2/substring2-2.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring2-2/substring2-2.1.ddl.aql
index b310c9f..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring2-2/substring2-2.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring2-2/substring2-2.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_substring2-2.adm";
-
-let $c1 := substring2("HEllow",0)
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring2-2/substring2-2.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring2-2/substring2-2.2.update.aql
index b310c9f..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring2-2/substring2-2.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring2-2/substring2-2.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_substring2-2.adm";
-
-let $c1 := substring2("HEllow",0)
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring2-2/substring2-2.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring2-2/substring2-2.3.query.aql
index b310c9f..db40e40 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring2-2/substring2-2.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring2-2/substring2-2.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_substring2-2.adm";
-
 let $c1 := substring2("HEllow",0)
 return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring2-3/substring2-3.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring2-3/substring2-3.1.ddl.aql
index 70725b6..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring2-3/substring2-3.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring2-3/substring2-3.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_substring2-3.adm";
-
-let $c1 := substring2("HEllow",10)
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring2-3/substring2-3.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring2-3/substring2-3.2.update.aql
index 70725b6..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring2-3/substring2-3.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring2-3/substring2-3.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_substring2-3.adm";
-
-let $c1 := substring2("HEllow",10)
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring2-3/substring2-3.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring2-3/substring2-3.3.query.aql
index 70725b6..77b847c 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring2-3/substring2-3.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring2-3/substring2-3.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_substring2-3.adm";
-
 let $c1 := substring2("HEllow",10)
 return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring2-4/substring2-4.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring2-4/substring2-4.1.ddl.aql
index 1a1065a..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring2-4/substring2-4.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring2-4/substring2-4.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_substring2-4.adm";
-
-let $c1 := substring2("HEllow",-1)
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring2-4/substring2-4.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring2-4/substring2-4.2.update.aql
index 1a1065a..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring2-4/substring2-4.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring2-4/substring2-4.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_substring2-4.adm";
-
-let $c1 := substring2("HEllow",-1)
-return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring2-4/substring2-4.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring2-4/substring2-4.3.query.aql
index 1a1065a..27c5ce2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring2-4/substring2-4.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring2-4/substring2-4.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_substring2-4.adm";
-
 let $c1 := substring2("HEllow",-1)
 return {"result1": $c1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring_01/substring_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring_01/substring_01.1.ddl.aql
index 3d2e51f..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring_01/substring_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring_01/substring_01.1.ddl.aql
@@ -1,8 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/string_substring_01.adm";
-
-for $x in ["foobar"]
-return substring($x, 2, 3)
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring_01/substring_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring_01/substring_01.2.update.aql
index 3d2e51f..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring_01/substring_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring_01/substring_01.2.update.aql
@@ -1,8 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/string_substring_01.adm";
-
-for $x in ["foobar"]
-return substring($x, 2, 3)
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/substring_01/substring_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/substring_01/substring_01.3.query.aql
index 3d2e51f..29efa54 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/substring_01/substring_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/substring_01/substring_01.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/string_substring_01.adm";
-
 for $x in ["foobar"]
 return substring($x, 2, 3)
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase02/toLowerCase02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase02/toLowerCase02.1.ddl.aql
index 2c16e01..1c613f2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase02/toLowerCase02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase02/toLowerCase02.1.ddl.aql
@@ -6,18 +6,3 @@
  * Date          : 19th April 2012
  */
 
-write output to nc1:"rttest/string_toLowerCase02.adm";
-
-for $a in [lowercase("a   b  c  d  e  f  g"),
-    lowercase("A B C D E F G H I J K L M N O P Q R S T U V W X Y Z"),
-    lowercase("abcdefghij KLMNOP qrstu VWXYZ"),
-    lowercase("abcdefghijklmnopqrstuvwxyz"),
-    lowercase("this is a test string"),
-    lowercase("smaller string"),
-    lowercase("ABCD"),
-    lowercase("AbCdEfGhIjKlMnOpQrStUvWxYz"),
-    lowercase("abcdefghijkABCDEFGHIJK"),
-    lowercase("HIJKLMNOPQRhijklmnopqr"),
-    lowercase(substring2("ABCDEFghIJKLMnopQRSTuvwxYZ01234",0)),
-    lowercase("A33B2CD1EF78GHijk123LMNopqrstUVW3x2y01035Z")]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase02/toLowerCase02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase02/toLowerCase02.2.update.aql
index 2c16e01..1c613f2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase02/toLowerCase02.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase02/toLowerCase02.2.update.aql
@@ -6,18 +6,3 @@
  * Date          : 19th April 2012
  */
 
-write output to nc1:"rttest/string_toLowerCase02.adm";
-
-for $a in [lowercase("a   b  c  d  e  f  g"),
-    lowercase("A B C D E F G H I J K L M N O P Q R S T U V W X Y Z"),
-    lowercase("abcdefghij KLMNOP qrstu VWXYZ"),
-    lowercase("abcdefghijklmnopqrstuvwxyz"),
-    lowercase("this is a test string"),
-    lowercase("smaller string"),
-    lowercase("ABCD"),
-    lowercase("AbCdEfGhIjKlMnOpQrStUvWxYz"),
-    lowercase("abcdefghijkABCDEFGHIJK"),
-    lowercase("HIJKLMNOPQRhijklmnopqr"),
-    lowercase(substring2("ABCDEFghIJKLMnopQRSTuvwxYZ01234",0)),
-    lowercase("A33B2CD1EF78GHijk123LMNopqrstUVW3x2y01035Z")]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase02/toLowerCase02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase02/toLowerCase02.3.query.aql
index 2c16e01..31cb9e3 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase02/toLowerCase02.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase02/toLowerCase02.3.query.aql
@@ -6,7 +6,6 @@
  * Date          : 19th April 2012
  */
 
-write output to nc1:"rttest/string_toLowerCase02.adm";
 
 for $a in [lowercase("a   b  c  d  e  f  g"),
     lowercase("A B C D E F G H I J K L M N O P Q R S T U V W X Y Z"),
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase03/toLowerCase03.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase03/toLowerCase03.1.ddl.aql
index 301af52..c8394b4 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase03/toLowerCase03.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase03/toLowerCase03.1.ddl.aql
@@ -11,29 +11,8 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type TestType as {
 name:string
 }
 
-create dataset testds(TestType) primary key name;
-
-insert into dataset testds({"name":"Maradona"});
-insert into dataset testds({"name":"Pele"});
-insert into dataset testds({"name":"Roberto Baggio"});
-insert into dataset testds({"name":"Beckham David"});
-insert into dataset testds({"name":"Rooney"});
-insert into dataset testds({"name":"Ronaldinho"});
-insert into dataset testds({"name":"Ronaldo"});
-insert into dataset testds({"name":"Zinadine Zidane"});
-insert into dataset testds({"name":"Cristiano Ronaldo"});
-insert into dataset testds({"name":"Messi"});
-insert into dataset testds({"name":"Tevez"});
-insert into dataset testds({"name":"Henry"});
-
-write output to nc1:"rttest/string_toLowerCase03.adm";
-
-for $l in dataset('testds')
-order by $l.name
-return lowercase($l.name)
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase03/toLowerCase03.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase03/toLowerCase03.2.update.aql
index 301af52..47574ab 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase03/toLowerCase03.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase03/toLowerCase03.2.update.aql
@@ -9,14 +9,8 @@
 
 // Create internal dataset, insert string data and pass the string attribute to lowercase function, and verify results.
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type TestType as {
-name:string
-}
-
 create dataset testds(TestType) primary key name;
 
 insert into dataset testds({"name":"Maradona"});
@@ -32,8 +26,3 @@
 insert into dataset testds({"name":"Tevez"});
 insert into dataset testds({"name":"Henry"});
 
-write output to nc1:"rttest/string_toLowerCase03.adm";
-
-for $l in dataset('testds')
-order by $l.name
-return lowercase($l.name)
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase03/toLowerCase03.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase03/toLowerCase03.3.query.aql
index 301af52..94743a7 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase03/toLowerCase03.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase03/toLowerCase03.3.query.aql
@@ -9,31 +9,8 @@
 
 // Create internal dataset, insert string data and pass the string attribute to lowercase function, and verify results.
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type TestType as {
-name:string
-}
-
-create dataset testds(TestType) primary key name;
-
-insert into dataset testds({"name":"Maradona"});
-insert into dataset testds({"name":"Pele"});
-insert into dataset testds({"name":"Roberto Baggio"});
-insert into dataset testds({"name":"Beckham David"});
-insert into dataset testds({"name":"Rooney"});
-insert into dataset testds({"name":"Ronaldinho"});
-insert into dataset testds({"name":"Ronaldo"});
-insert into dataset testds({"name":"Zinadine Zidane"});
-insert into dataset testds({"name":"Cristiano Ronaldo"});
-insert into dataset testds({"name":"Messi"});
-insert into dataset testds({"name":"Tevez"});
-insert into dataset testds({"name":"Henry"});
-
-write output to nc1:"rttest/string_toLowerCase03.adm";
-
 for $l in dataset('testds')
 order by $l.name
 return lowercase($l.name)
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase04/toLowerCase04.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase04/toLowerCase04.1.ddl.aql
index 3d99aab..48d52db 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase04/toLowerCase04.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase04/toLowerCase04.1.ddl.aql
@@ -6,7 +6,3 @@
  * Date           : 19th April 2012
  */
 
-write output to nc1:"rttest/string_toLowerCase04.adm";
-
-for $a in[lowercase(codepoint-to-string([0065,0066,0067,0068,0069,0070,0071,0072,0073,0074,0075,0076,0077,0078,0079,0080,0081,0082,0083,0084,0085,0086,0087,0088,0089,0090])),lowercase(string-concat(["ABCDEFGHIJKLMNOP","QRSTUVWXYZ"]))]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase04/toLowerCase04.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase04/toLowerCase04.2.update.aql
index 3d99aab..48d52db 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase04/toLowerCase04.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase04/toLowerCase04.2.update.aql
@@ -6,7 +6,3 @@
  * Date           : 19th April 2012
  */
 
-write output to nc1:"rttest/string_toLowerCase04.adm";
-
-for $a in[lowercase(codepoint-to-string([0065,0066,0067,0068,0069,0070,0071,0072,0073,0074,0075,0076,0077,0078,0079,0080,0081,0082,0083,0084,0085,0086,0087,0088,0089,0090])),lowercase(string-concat(["ABCDEFGHIJKLMNOP","QRSTUVWXYZ"]))]
-return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase04/toLowerCase04.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase04/toLowerCase04.3.query.aql
index 3d99aab..3b4ec60 100644
--- a/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase04/toLowerCase04.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/string/toLowerCase04/toLowerCase04.3.query.aql
@@ -6,7 +6,5 @@
  * Date           : 19th April 2012
  */
 
-write output to nc1:"rttest/string_toLowerCase04.adm";
-
 for $a in[lowercase(codepoint-to-string([0065,0066,0067,0068,0069,0070,0071,0072,0073,0074,0075,0076,0077,0078,0079,0080,0081,0082,0083,0084,0085,0086,0087,0088,0089,0090])),lowercase(string-concat(["ABCDEFGHIJKLMNOP","QRSTUVWXYZ"]))]
 return $a
diff --git a/asterix-app/src/test/resources/runtimets/queries/temp/accessors/accessors.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/temp/accessors/accessors.1.ddl.aql
new file mode 100644
index 0000000..4fcf8c9
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/temp/accessors/accessors.1.ddl.aql
@@ -0,0 +1,9 @@
+/*
+ * Description      :   Check temporal accessors for different types
+ * Expected Result  :   Success
+ * Date             :   31st Aug, 2012
+ */
+
+drop dataverse test if exists;
+create dataverse test;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/temp/accessors/accessors.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/temp/accessors/accessors.2.update.aql
new file mode 100644
index 0000000..1e40f3d
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/temp/accessors/accessors.2.update.aql
@@ -0,0 +1,6 @@
+/*
+ * Description      :   Check temporal accessors for different types
+ * Expected Result  :   Success
+ * Date             :   31st Aug, 2012
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/temp/ccessors/ccessors.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/temp/accessors/accessors.3.query.aql
similarity index 92%
rename from asterix-app/src/test/resources/runtimets/queries/temp/ccessors/ccessors.3.query.aql
rename to asterix-app/src/test/resources/runtimets/queries/temp/accessors/accessors.3.query.aql
index 9cc9f8d..4ae1853 100644
--- a/asterix-app/src/test/resources/runtimets/queries/temp/ccessors/ccessors.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/temp/accessors/accessors.3.query.aql
@@ -4,12 +4,8 @@
  * Date             :   31st Aug, 2012
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/temp_accessors.adm";
-
 let $c1 := date("2010-10-30")
 let $c2 := datetime("1987-11-19T23:49:23.938")
 let $c3 := date("-1987-11-19")
diff --git a/asterix-app/src/test/resources/runtimets/queries/temp/adjust_timezone/adjust_timezone.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/temp/adjust_timezone/adjust_timezone.1.ddl.aql
new file mode 100644
index 0000000..88773ee
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/temp/adjust_timezone/adjust_timezone.1.ddl.aql
@@ -0,0 +1,9 @@
+/*
+ * Description      :   Check the adjust-timezone functions
+ * Expected Result  :   Success
+ * Date             :   15th Oct, 2012
+ */
+
+drop dataverse test if exists;
+create dataverse test;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/temp/adjust_timezone/adjust_timezone.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/temp/adjust_timezone/adjust_timezone.2.update.aql
new file mode 100644
index 0000000..2a84907
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/temp/adjust_timezone/adjust_timezone.2.update.aql
@@ -0,0 +1,6 @@
+/*
+ * Description      :   Check the adjust-timezone functions
+ * Expected Result  :   Success
+ * Date             :   15th Oct, 2012
+ */
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/temp/djust_timezone/djust_timezone.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/temp/adjust_timezone/adjust_timezone.3.query.aql
similarity index 77%
rename from asterix-app/src/test/resources/runtimets/queries/temp/djust_timezone/djust_timezone.1.ddl.aql
rename to asterix-app/src/test/resources/runtimets/queries/temp/adjust_timezone/adjust_timezone.3.query.aql
index 9f6c60e..0324094 100644
--- a/asterix-app/src/test/resources/runtimets/queries/temp/djust_timezone/djust_timezone.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/temp/adjust_timezone/adjust_timezone.3.query.aql
@@ -4,14 +4,10 @@
  * Date             :   15th Oct, 2012
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/temp_adjust_timezone.adm";
-
 let $t1 := time("20:15:10.327")
 let $dt1 := datetime("2010-10-23T01:12:13.329Z")
 let $s1 := adjust-time-for-timezone($t1, "+0800")
 let $s2 := adjust-datetime-for-timezone($dt1, "-0615")
-return { "string1" : $s1, "string2" : $s2 }
\ No newline at end of file
+return { "string1" : $s1, "string2" : $s2 }
diff --git a/asterix-app/src/test/resources/runtimets/queries/temp/calendar_duration/calendar_duration.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/temp/calendar_duration/calendar_duration.1.ddl.aql
index 67360ce..25db981 100644
--- a/asterix-app/src/test/resources/runtimets/queries/temp/calendar_duration/calendar_duration.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/temp/calendar_duration/calendar_duration.1.ddl.aql
@@ -6,23 +6,4 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/temp_calendar_duration.adm";
-
-let $t1 := datetime("1987-11-19T23:49:23.938")
-let $t2 := date("-1328-10-23")
-let $dr1 := duration("P7382DT39283M3921.329S")
-let $dr2 := duration("-PT63H398212M3219.328S")
-let $dr3 := duration("P1Y90M")
-let $dr4 := duration("-P3Y89M4089DT47382.983S")
-let $cdr1 := calendar-duration-from-datetime($t1, $dr1)
-let $cdr2 := calendar-duration-from-datetime($t1, $dr2)
-let $cdr3 := calendar-duration-from-datetime($t1, $dr3)
-let $cdr4 := calendar-duration-from-datetime($t1, $dr4)
-let $cdr5 := calendar-duration-from-date($t2, $dr1)
-let $cdr6 := calendar-duration-from-date($t2, $dr2)
-let $cdr7 := calendar-duration-from-date($t2, $dr3)
-let $cdr8 := calendar-duration-from-date($t2, $dr4)
-
-return { "cduration1":$cdr1, "cduration2":$cdr2, "cduration3":$cdr3, "cduration4":$cdr4, "cduration5":$cdr5, "cduration6":$cdr6, "cduration7":$cdr7, "cduration8":$cdr8 }
diff --git a/asterix-app/src/test/resources/runtimets/queries/temp/calendar_duration/calendar_duration.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/temp/calendar_duration/calendar_duration.2.update.aql
index 67360ce..7e27a79 100644
--- a/asterix-app/src/test/resources/runtimets/queries/temp/calendar_duration/calendar_duration.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/temp/calendar_duration/calendar_duration.2.update.aql
@@ -4,25 +4,3 @@
  * Date             :   15th Oct, 2012
  */
 
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/temp_calendar_duration.adm";
-
-let $t1 := datetime("1987-11-19T23:49:23.938")
-let $t2 := date("-1328-10-23")
-let $dr1 := duration("P7382DT39283M3921.329S")
-let $dr2 := duration("-PT63H398212M3219.328S")
-let $dr3 := duration("P1Y90M")
-let $dr4 := duration("-P3Y89M4089DT47382.983S")
-let $cdr1 := calendar-duration-from-datetime($t1, $dr1)
-let $cdr2 := calendar-duration-from-datetime($t1, $dr2)
-let $cdr3 := calendar-duration-from-datetime($t1, $dr3)
-let $cdr4 := calendar-duration-from-datetime($t1, $dr4)
-let $cdr5 := calendar-duration-from-date($t2, $dr1)
-let $cdr6 := calendar-duration-from-date($t2, $dr2)
-let $cdr7 := calendar-duration-from-date($t2, $dr3)
-let $cdr8 := calendar-duration-from-date($t2, $dr4)
-
-return { "cduration1":$cdr1, "cduration2":$cdr2, "cduration3":$cdr3, "cduration4":$cdr4, "cduration5":$cdr5, "cduration6":$cdr6, "cduration7":$cdr7, "cduration8":$cdr8 }
diff --git a/asterix-app/src/test/resources/runtimets/queries/temp/calendar_duration/calendar_duration.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/temp/calendar_duration/calendar_duration.3.query.aql
index 67360ce..f56e08f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/temp/calendar_duration/calendar_duration.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/temp/calendar_duration/calendar_duration.3.query.aql
@@ -4,12 +4,8 @@
  * Date             :   15th Oct, 2012
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/temp_calendar_duration.adm";
-
 let $t1 := datetime("1987-11-19T23:49:23.938")
 let $t2 := date("-1328-10-23")
 let $dr1 := duration("P7382DT39283M3921.329S")
diff --git a/asterix-app/src/test/resources/runtimets/queries/temp/ccessors/ccessors.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/temp/ccessors/ccessors.1.ddl.aql
deleted file mode 100644
index 9cc9f8d..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/temp/ccessors/ccessors.1.ddl.aql
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Description      :   Check temporal accessors for different types
- * Expected Result  :   Success
- * Date             :   31st Aug, 2012
- */
-
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/temp_accessors.adm";
-
-let $c1 := date("2010-10-30")
-let $c2 := datetime("1987-11-19T23:49:23.938")
-let $c3 := date("-1987-11-19")
-let $c4 := date("09280329")
-let $c5 := datetime("19371229T20030628")
-let $c6 := time("12:23:34.930+07:00")
-let $c7 := string("-0003-01-09T23:12:12.39-07:00")
-let $c8 := duration("P3Y73M632DT49H743M3948.94S")
-
-return {"year1": year($c1), "year2": year($c2), "year3": year($c3), "year4": year($c4), "year5": year($c5), "year6": year($c7), "year7": year($c8), "month1": month($c1), "month2": month($c2), "month3": month($c3), "month4": month($c4), "month5": month($c5), "month6": month($c8), "day1": day($c1), "day2": day($c2), "day3": day($c3), "day4": day($c4), "day5": day($c5), "day6": day($c8), "hour1": hour($c2), "hour2": hour($c5), "hour3": hour($c6), "hour4": hour($c8), "min1": minute($c2), "min2": minute($c5), "min3": minute($c6), "min4": minute($c8), "second1": second($c2), "second2": second($c5), "second3": second($c6), "second4": second($c8), "ms1": millisecond($c2), "ms2": millisecond($c5), "ms3": millisecond($c6), "ms4": millisecond($c8)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/temp/ccessors/ccessors.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/temp/ccessors/ccessors.2.update.aql
deleted file mode 100644
index 9cc9f8d..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/temp/ccessors/ccessors.2.update.aql
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Description      :   Check temporal accessors for different types
- * Expected Result  :   Success
- * Date             :   31st Aug, 2012
- */
-
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/temp_accessors.adm";
-
-let $c1 := date("2010-10-30")
-let $c2 := datetime("1987-11-19T23:49:23.938")
-let $c3 := date("-1987-11-19")
-let $c4 := date("09280329")
-let $c5 := datetime("19371229T20030628")
-let $c6 := time("12:23:34.930+07:00")
-let $c7 := string("-0003-01-09T23:12:12.39-07:00")
-let $c8 := duration("P3Y73M632DT49H743M3948.94S")
-
-return {"year1": year($c1), "year2": year($c2), "year3": year($c3), "year4": year($c4), "year5": year($c5), "year6": year($c7), "year7": year($c8), "month1": month($c1), "month2": month($c2), "month3": month($c3), "month4": month($c4), "month5": month($c5), "month6": month($c8), "day1": day($c1), "day2": day($c2), "day3": day($c3), "day4": day($c4), "day5": day($c5), "day6": day($c8), "hour1": hour($c2), "hour2": hour($c5), "hour3": hour($c6), "hour4": hour($c8), "min1": minute($c2), "min2": minute($c5), "min3": minute($c6), "min4": minute($c8), "second1": second($c2), "second2": second($c5), "second3": second($c6), "second4": second($c8), "ms1": millisecond($c2), "ms2": millisecond($c5), "ms3": millisecond($c6), "ms4": millisecond($c8)}
diff --git a/asterix-app/src/test/resources/runtimets/queries/temp/date_functions/date_functions.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/temp/date_functions/date_functions.1.ddl.aql
index 310fa43..ac6c3f8 100644
--- a/asterix-app/src/test/resources/runtimets/queries/temp/date_functions/date_functions.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/temp/date_functions/date_functions.1.ddl.aql
@@ -5,20 +5,4 @@
  */
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/temp_date_functions.adm";
-
-let $d1 := date-from-unix-time-in-days(15600)
-let $dt1 := datetime("1327-12-02T23:35:49.938Z")
-let $d2 := date-from-datetime($dt1)
-let $dt2 := datetime("2012-10-11T02:30:23+03:00")
-let $d3 := date-from-datetime($dt2)
-let $dr1 := duration("-P2Y1M90DT30H")
-let $d4 := add-date-duration($d1, $dr1)
-let $dr2 := duration("P300Y900MT360000M")
-let $d5 := add-date-duration($d2, $dr2)
-let $dr3 := subtract-date($d5, $d2)
-let $dr4 := subtract-date($d4, $d1)
-
-return { "date1" : $d1, "date2" : $d2, "date3" : $d3, "date4" : $d4, "date5" : $d5, "duration1" : $dr3, "duration2" : $dr4  }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/temp/date_functions/date_functions.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/temp/date_functions/date_functions.2.update.aql
index 310fa43..0a4fbb2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/temp/date_functions/date_functions.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/temp/date_functions/date_functions.2.update.aql
@@ -3,22 +3,4 @@
  * Expected Result  :   Success
  * Date             :   24th Sep, 2012
  */
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/temp_date_functions.adm";
-
-let $d1 := date-from-unix-time-in-days(15600)
-let $dt1 := datetime("1327-12-02T23:35:49.938Z")
-let $d2 := date-from-datetime($dt1)
-let $dt2 := datetime("2012-10-11T02:30:23+03:00")
-let $d3 := date-from-datetime($dt2)
-let $dr1 := duration("-P2Y1M90DT30H")
-let $d4 := add-date-duration($d1, $dr1)
-let $dr2 := duration("P300Y900MT360000M")
-let $d5 := add-date-duration($d2, $dr2)
-let $dr3 := subtract-date($d5, $d2)
-let $dr4 := subtract-date($d4, $d1)
-
-return { "date1" : $d1, "date2" : $d2, "date3" : $d3, "date4" : $d4, "date5" : $d5, "duration1" : $dr3, "duration2" : $dr4  }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/temp/date_functions/date_functions.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/temp/date_functions/date_functions.3.query.aql
index 310fa43..2f93bcb 100644
--- a/asterix-app/src/test/resources/runtimets/queries/temp/date_functions/date_functions.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/temp/date_functions/date_functions.3.query.aql
@@ -3,12 +3,8 @@
  * Expected Result  :   Success
  * Date             :   24th Sep, 2012
  */
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/temp_date_functions.adm";
-
 let $d1 := date-from-unix-time-in-days(15600)
 let $dt1 := datetime("1327-12-02T23:35:49.938Z")
 let $d2 := date-from-datetime($dt1)
@@ -21,4 +17,4 @@
 let $dr3 := subtract-date($d5, $d2)
 let $dr4 := subtract-date($d4, $d1)
 
-return { "date1" : $d1, "date2" : $d2, "date3" : $d3, "date4" : $d4, "date5" : $d5, "duration1" : $dr3, "duration2" : $dr4  }
\ No newline at end of file
+return { "date1" : $d1, "date2" : $d2, "date3" : $d3, "date4" : $d4, "date5" : $d5, "duration1" : $dr3, "duration2" : $dr4  }
diff --git a/asterix-app/src/test/resources/runtimets/queries/temp/datetime_functions/datetime_functions.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/temp/datetime_functions/datetime_functions.1.ddl.aql
index a70c9f2..d984a78 100644
--- a/asterix-app/src/test/resources/runtimets/queries/temp/datetime_functions/datetime_functions.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/temp/datetime_functions/datetime_functions.1.ddl.aql
@@ -6,15 +6,3 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/temp_datetime_functions.adm";
-
-let $dt1 := datetime-from-unix-time-in-ms(956007429)
-let $d1 := date("1327-12-02")
-let $t1 := time("23:35:49.938Z")
-let $dt2 := datetime-from-date-time($d1, $t1)
-let $dr1 := subtract-datetime($dt2, $dt1)
-let $dt3 := add-datetime-duration($dt1, $dr1)
-
-return { "datetime1" : $dt1, "datetime2" : $dt2, "datetime3" : $dt3, "duration1" : $dr1 }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/temp/datetime_functions/datetime_functions.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/temp/datetime_functions/datetime_functions.2.update.aql
index a70c9f2..05af838 100644
--- a/asterix-app/src/test/resources/runtimets/queries/temp/datetime_functions/datetime_functions.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/temp/datetime_functions/datetime_functions.2.update.aql
@@ -4,17 +4,3 @@
  * Date             :   24th Sep, 2012
  */
 
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/temp_datetime_functions.adm";
-
-let $dt1 := datetime-from-unix-time-in-ms(956007429)
-let $d1 := date("1327-12-02")
-let $t1 := time("23:35:49.938Z")
-let $dt2 := datetime-from-date-time($d1, $t1)
-let $dr1 := subtract-datetime($dt2, $dt1)
-let $dt3 := add-datetime-duration($dt1, $dr1)
-
-return { "datetime1" : $dt1, "datetime2" : $dt2, "datetime3" : $dt3, "duration1" : $dr1 }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/temp/datetime_functions/datetime_functions.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/temp/datetime_functions/datetime_functions.3.query.aql
index a70c9f2..36df410 100644
--- a/asterix-app/src/test/resources/runtimets/queries/temp/datetime_functions/datetime_functions.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/temp/datetime_functions/datetime_functions.3.query.aql
@@ -4,12 +4,8 @@
  * Date             :   24th Sep, 2012
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/temp_datetime_functions.adm";
-
 let $dt1 := datetime-from-unix-time-in-ms(956007429)
 let $d1 := date("1327-12-02")
 let $t1 := time("23:35:49.938Z")
@@ -17,4 +13,4 @@
 let $dr1 := subtract-datetime($dt2, $dt1)
 let $dt3 := add-datetime-duration($dt1, $dr1)
 
-return { "datetime1" : $dt1, "datetime2" : $dt2, "datetime3" : $dt3, "duration1" : $dr1 }
\ No newline at end of file
+return { "datetime1" : $dt1, "datetime2" : $dt2, "datetime3" : $dt3, "duration1" : $dr1 }
diff --git a/asterix-app/src/test/resources/runtimets/queries/temp/djust_timezone/djust_timezone.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/temp/djust_timezone/djust_timezone.2.update.aql
deleted file mode 100644
index 9f6c60e..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/temp/djust_timezone/djust_timezone.2.update.aql
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Description      :   Check the adjust-timezone functions
- * Expected Result  :   Success
- * Date             :   15th Oct, 2012
- */
-
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/temp_adjust_timezone.adm";
-
-let $t1 := time("20:15:10.327")
-let $dt1 := datetime("2010-10-23T01:12:13.329Z")
-let $s1 := adjust-time-for-timezone($t1, "+0800")
-let $s2 := adjust-datetime-for-timezone($dt1, "-0615")
-return { "string1" : $s1, "string2" : $s2 }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/temp/djust_timezone/djust_timezone.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/temp/djust_timezone/djust_timezone.3.query.aql
deleted file mode 100644
index 9f6c60e..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/temp/djust_timezone/djust_timezone.3.query.aql
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Description      :   Check the adjust-timezone functions
- * Expected Result  :   Success
- * Date             :   15th Oct, 2012
- */
-
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/temp_adjust_timezone.adm";
-
-let $t1 := time("20:15:10.327")
-let $dt1 := datetime("2010-10-23T01:12:13.329Z")
-let $s1 := adjust-time-for-timezone($t1, "+0800")
-let $s2 := adjust-datetime-for-timezone($dt1, "-0615")
-return { "string1" : $s1, "string2" : $s2 }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/temp/insert_from_delimited_ds/insert_from_delimited_ds.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/temp/insert_from_delimited_ds/insert_from_delimited_ds.1.ddl.aql
index 4520f46..c82a867 100644
--- a/asterix-app/src/test/resources/runtimets/queries/temp/insert_from_delimited_ds/insert_from_delimited_ds.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/temp/insert_from_delimited_ds/insert_from_delimited_ds.1.ddl.aql
@@ -6,7 +6,6 @@
  
 drop dataverse testdvt if exists;
 create dataverse testdvt;
-use dataverse testdvt;
 
 create type testtype as closed {
   id: string,
@@ -16,11 +15,3 @@
   durationField: duration
 }
 
-write output to nc1:"rttest/temp_insert_from_delimited_ds.adm";
-
-create external dataset testds(testtype)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/temporal/temporalData.txt"),("format"="delimited-text"),("delimiter"="|"));
-
-for $r in dataset("testds") 
-return {"date": $r.dateField, "time": $r.timeField, "datetime": $r.datetimeField, "duration": $r.durationField }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/temp/insert_from_delimited_ds/insert_from_delimited_ds.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/temp/insert_from_delimited_ds/insert_from_delimited_ds.2.update.aql
index 4520f46..48e4150 100644
--- a/asterix-app/src/test/resources/runtimets/queries/temp/insert_from_delimited_ds/insert_from_delimited_ds.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/temp/insert_from_delimited_ds/insert_from_delimited_ds.2.update.aql
@@ -3,24 +3,10 @@
  * Description: verify insertion operation for date type
  * Expected result: success
  */
- 
-drop dataverse testdvt if exists;
-create dataverse testdvt;
+
 use dataverse testdvt;
 
-create type testtype as closed {
-  id: string,
-  dateField: date,
-  timeField: time,
-  datetimeField: datetime,
-  durationField: duration
-}
-
-write output to nc1:"rttest/temp_insert_from_delimited_ds.adm";
-
 create external dataset testds(testtype)
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/temporal/temporalData.txt"),("format"="delimited-text"),("delimiter"="|"));
 
-for $r in dataset("testds") 
-return {"date": $r.dateField, "time": $r.timeField, "datetime": $r.datetimeField, "duration": $r.durationField }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/temp/insert_from_delimited_ds/insert_from_delimited_ds.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/temp/insert_from_delimited_ds/insert_from_delimited_ds.3.query.aql
index 4520f46..2c21329 100644
--- a/asterix-app/src/test/resources/runtimets/queries/temp/insert_from_delimited_ds/insert_from_delimited_ds.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/temp/insert_from_delimited_ds/insert_from_delimited_ds.3.query.aql
@@ -3,24 +3,8 @@
  * Description: verify insertion operation for date type
  * Expected result: success
  */
- 
-drop dataverse testdvt if exists;
-create dataverse testdvt;
+
 use dataverse testdvt;
 
-create type testtype as closed {
-  id: string,
-  dateField: date,
-  timeField: time,
-  datetimeField: datetime,
-  durationField: duration
-}
-
-write output to nc1:"rttest/temp_insert_from_delimited_ds.adm";
-
-create external dataset testds(testtype)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/temporal/temporalData.txt"),("format"="delimited-text"),("delimiter"="|"));
-
 for $r in dataset("testds") 
-return {"date": $r.dateField, "time": $r.timeField, "datetime": $r.datetimeField, "duration": $r.durationField }
\ No newline at end of file
+return {"date": $r.dateField, "time": $r.timeField, "datetime": $r.datetimeField, "duration": $r.durationField }
diff --git a/asterix-app/src/test/resources/runtimets/queries/temp/insert_from_ext_ds/insert_from_ext_ds.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/temp/insert_from_ext_ds/insert_from_ext_ds.1.ddl.aql
index 5813696..f2295b0 100644
--- a/asterix-app/src/test/resources/runtimets/queries/temp/insert_from_ext_ds/insert_from_ext_ds.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/temp/insert_from_ext_ds/insert_from_ext_ds.1.ddl.aql
@@ -6,7 +6,6 @@
  
 drop dataverse testdvt if exists;
 create dataverse testdvt;
-use dataverse testdvt;
 
 create type testtype as open {
   id: string,
@@ -17,11 +16,3 @@
   intervalField: interval?
 }
 
-write output to nc1:"rttest/temp_insert_from_ext_ds.adm";
-
-create external dataset testds(testtype)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/temporal/temporalData.json"),("format"="adm"));
-
-for $r in dataset("testds") 
-return {"date": $r.dateField, "time": $r.timeField, "datetime": $r.datetimeField, "duration": $r.durationField, "interval": $r.intervalField }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/temp/insert_from_ext_ds/insert_from_ext_ds.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/temp/insert_from_ext_ds/insert_from_ext_ds.2.update.aql
index 5813696..9f92e49 100644
--- a/asterix-app/src/test/resources/runtimets/queries/temp/insert_from_ext_ds/insert_from_ext_ds.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/temp/insert_from_ext_ds/insert_from_ext_ds.2.update.aql
@@ -4,24 +4,9 @@
  * Expected result: success
  */
  
-drop dataverse testdvt if exists;
-create dataverse testdvt;
 use dataverse testdvt;
 
-create type testtype as open {
-  id: string,
-  dateField: date?,
-  timeField: time?,
-  datetimeField: datetime?,
-  durationField: duration?,
-  intervalField: interval?
-}
-
-write output to nc1:"rttest/temp_insert_from_ext_ds.adm";
-
 create external dataset testds(testtype)
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/temporal/temporalData.json"),("format"="adm"));
 
-for $r in dataset("testds") 
-return {"date": $r.dateField, "time": $r.timeField, "datetime": $r.datetimeField, "duration": $r.durationField, "interval": $r.intervalField }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/temp/insert_from_ext_ds/insert_from_ext_ds.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/temp/insert_from_ext_ds/insert_from_ext_ds.3.query.aql
index 5813696..cd8731e 100644
--- a/asterix-app/src/test/resources/runtimets/queries/temp/insert_from_ext_ds/insert_from_ext_ds.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/temp/insert_from_ext_ds/insert_from_ext_ds.3.query.aql
@@ -3,25 +3,8 @@
  * Description: verify insertion operation for date type
  * Expected result: success
  */
- 
-drop dataverse testdvt if exists;
-create dataverse testdvt;
+
 use dataverse testdvt;
 
-create type testtype as open {
-  id: string,
-  dateField: date?,
-  timeField: time?,
-  datetimeField: datetime?,
-  durationField: duration?,
-  intervalField: interval?
-}
-
-write output to nc1:"rttest/temp_insert_from_ext_ds.adm";
-
-create external dataset testds(testtype)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/temporal/temporalData.json"),("format"="adm"));
-
 for $r in dataset("testds") 
-return {"date": $r.dateField, "time": $r.timeField, "datetime": $r.datetimeField, "duration": $r.durationField, "interval": $r.intervalField }
\ No newline at end of file
+return {"date": $r.dateField, "time": $r.timeField, "datetime": $r.datetimeField, "duration": $r.durationField, "interval": $r.intervalField }
diff --git a/asterix-app/src/test/resources/runtimets/queries/temp/interval_functions/interval_functions.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/temp/interval_functions/interval_functions.1.ddl.aql
index a29f7f5..dc64af7 100644
--- a/asterix-app/src/test/resources/runtimets/queries/temp/interval_functions/interval_functions.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/temp/interval_functions/interval_functions.1.ddl.aql
@@ -6,51 +6,4 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/temp_interval_functions.adm";
-
-let $itv1 := interval-from-date("2010-10-30", "2010-12-21")
-let $itv2 := interval-from-date("2011-10-30", "2012-10-21")
-let $itv3 := interval-from-date("2010-06-30", "2013-01-01")
-let $blnBefore1 := interval-before($itv1, $itv2)
-let $blnAfter1 := interval-after($itv2, $itv1)
-let $blnBefore2 := interval-before($itv1, $itv3)
-let $blnAfter2 := interval-after($itv3, $itv1)
-
-let $itv4 := interval-from-datetime("2012-06-26T01:01:01.111", "2012-07-27T02:02:02.222")
-let $itv5 := interval-from-datetime("20120727T020202222", "2013-08-08T03:03:03.333")
-let $itv6 := interval-from-datetime("19000707T020202222", "2013-08-07T03:03:03.333")
-let $blnMeet1 := interval-meets($itv4, $itv5)
-let $blnMetBy1 := interval-met-by($itv5, $itv4)
-let $blnMeet2 := interval-meets($itv6, $itv4)
-let $blnMetBy2 := interval-met-by($itv6, $itv4)
-
-let $itv7 := interval-from-time("12:32:38", "20:29:20")
-let $itv8 := interval-from-time("17:48:19", "22:19:49")
-let $itv9 := interval-from-time("01:32:49", "12:33:00")
-let $blnOverlaps1 := interval-overlaps($itv7, $itv8)
-let $blnOverlapped1 := interval-overlapped-by($itv8, $itv7)
-let $blnOverlaps2 := interval-overlaps($itv8, $itv7)
-let $blnOverlapped2 := interval-overlapped-by($itv7, $itv8)
-let $blnOverlap1 := overlap($itv9, $itv7)
-let $blnOverlap2 := overlap($itv9, $itv8)
-
-let $itv10 := interval-from-date("2010-10-30", "2010-11-30")
-let $blnStarts1 := interval-starts($itv10, $itv1)
-let $blnStarts2 := interval-starts($itv10, $itv2)
-let $blnStartedBy1 := interval-started-by($itv1, $itv10)
-let $blnStartedBy2 := interval-started-by($itv10, $itv2)
-
-let $blnCovers1 := interval-covers($itv6, $itv4)
-let $blnCovers2 := interval-covers($itv6, $itv5)
-let $blnCoveredBy1 := interval-covered-by($itv4, $itv6)
-let $blnCoveredBy2 := interval-covered-by($itv5, $itv6)
-
-let $itv11 := interval-from-time("19:00:00.009", "20:29:20.000")
-let $blnEnds1 := interval-ends($itv11, $itv7)
-let $blnEnds2 := interval-ends($itv11, $itv8)
-let $blnEndedBy1 := interval-ended-by($itv7, $itv11)
-let $blnEndedBy2 := interval-ended-by($itv8, $itv11)
-
-return { "before1" : $blnBefore1, "before2" : $blnBefore2, "after1" : $blnAfter1, "after2" : $blnAfter2, "meet1" : $blnMeet1, "meet2" : $blnMeet2, "metby1" : $blnMetBy1, "metby2" : $blnMetBy2, "overlaps1" : $blnOverlaps1, "overlaps2" : $blnOverlaps2, "overlapped1" : $blnOverlapped1, "overlapped2" : $blnOverlapped2, "overlap1" : $blnOverlap1, "overlap2" : $blnOverlap2, "starts1" : $blnStarts1, "starts2" : $blnStarts2, "startedby1" : $blnStartedBy1, "startedby2" : $blnStartedBy2, "covers1" : $blnCovers1, "covers2" : $blnCovers2, "coveredby1" : $blnCoveredBy1, "coveredby2" : $blnCoveredBy2, "ends1" : $blnEnds1, "ends2" : $blnEnds2, "endedby1" : $blnEndedBy1, "endedby2" : $blnEndedBy2 }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/temp/interval_functions/interval_functions.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/temp/interval_functions/interval_functions.2.update.aql
index a29f7f5..4330ebd 100644
--- a/asterix-app/src/test/resources/runtimets/queries/temp/interval_functions/interval_functions.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/temp/interval_functions/interval_functions.2.update.aql
@@ -4,53 +4,3 @@
  * Date             :   2nd Nov, 2012
  */
 
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/temp_interval_functions.adm";
-
-let $itv1 := interval-from-date("2010-10-30", "2010-12-21")
-let $itv2 := interval-from-date("2011-10-30", "2012-10-21")
-let $itv3 := interval-from-date("2010-06-30", "2013-01-01")
-let $blnBefore1 := interval-before($itv1, $itv2)
-let $blnAfter1 := interval-after($itv2, $itv1)
-let $blnBefore2 := interval-before($itv1, $itv3)
-let $blnAfter2 := interval-after($itv3, $itv1)
-
-let $itv4 := interval-from-datetime("2012-06-26T01:01:01.111", "2012-07-27T02:02:02.222")
-let $itv5 := interval-from-datetime("20120727T020202222", "2013-08-08T03:03:03.333")
-let $itv6 := interval-from-datetime("19000707T020202222", "2013-08-07T03:03:03.333")
-let $blnMeet1 := interval-meets($itv4, $itv5)
-let $blnMetBy1 := interval-met-by($itv5, $itv4)
-let $blnMeet2 := interval-meets($itv6, $itv4)
-let $blnMetBy2 := interval-met-by($itv6, $itv4)
-
-let $itv7 := interval-from-time("12:32:38", "20:29:20")
-let $itv8 := interval-from-time("17:48:19", "22:19:49")
-let $itv9 := interval-from-time("01:32:49", "12:33:00")
-let $blnOverlaps1 := interval-overlaps($itv7, $itv8)
-let $blnOverlapped1 := interval-overlapped-by($itv8, $itv7)
-let $blnOverlaps2 := interval-overlaps($itv8, $itv7)
-let $blnOverlapped2 := interval-overlapped-by($itv7, $itv8)
-let $blnOverlap1 := overlap($itv9, $itv7)
-let $blnOverlap2 := overlap($itv9, $itv8)
-
-let $itv10 := interval-from-date("2010-10-30", "2010-11-30")
-let $blnStarts1 := interval-starts($itv10, $itv1)
-let $blnStarts2 := interval-starts($itv10, $itv2)
-let $blnStartedBy1 := interval-started-by($itv1, $itv10)
-let $blnStartedBy2 := interval-started-by($itv10, $itv2)
-
-let $blnCovers1 := interval-covers($itv6, $itv4)
-let $blnCovers2 := interval-covers($itv6, $itv5)
-let $blnCoveredBy1 := interval-covered-by($itv4, $itv6)
-let $blnCoveredBy2 := interval-covered-by($itv5, $itv6)
-
-let $itv11 := interval-from-time("19:00:00.009", "20:29:20.000")
-let $blnEnds1 := interval-ends($itv11, $itv7)
-let $blnEnds2 := interval-ends($itv11, $itv8)
-let $blnEndedBy1 := interval-ended-by($itv7, $itv11)
-let $blnEndedBy2 := interval-ended-by($itv8, $itv11)
-
-return { "before1" : $blnBefore1, "before2" : $blnBefore2, "after1" : $blnAfter1, "after2" : $blnAfter2, "meet1" : $blnMeet1, "meet2" : $blnMeet2, "metby1" : $blnMetBy1, "metby2" : $blnMetBy2, "overlaps1" : $blnOverlaps1, "overlaps2" : $blnOverlaps2, "overlapped1" : $blnOverlapped1, "overlapped2" : $blnOverlapped2, "overlap1" : $blnOverlap1, "overlap2" : $blnOverlap2, "starts1" : $blnStarts1, "starts2" : $blnStarts2, "startedby1" : $blnStartedBy1, "startedby2" : $blnStartedBy2, "covers1" : $blnCovers1, "covers2" : $blnCovers2, "coveredby1" : $blnCoveredBy1, "coveredby2" : $blnCoveredBy2, "ends1" : $blnEnds1, "ends2" : $blnEnds2, "endedby1" : $blnEndedBy1, "endedby2" : $blnEndedBy2 }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/temp/interval_functions/interval_functions.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/temp/interval_functions/interval_functions.3.query.aql
index a29f7f5..abda416 100644
--- a/asterix-app/src/test/resources/runtimets/queries/temp/interval_functions/interval_functions.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/temp/interval_functions/interval_functions.3.query.aql
@@ -4,12 +4,8 @@
  * Date             :   2nd Nov, 2012
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/temp_interval_functions.adm";
-
 let $itv1 := interval-from-date("2010-10-30", "2010-12-21")
 let $itv2 := interval-from-date("2011-10-30", "2012-10-21")
 let $itv3 := interval-from-date("2010-06-30", "2013-01-01")
@@ -53,4 +49,4 @@
 let $blnEndedBy1 := interval-ended-by($itv7, $itv11)
 let $blnEndedBy2 := interval-ended-by($itv8, $itv11)
 
-return { "before1" : $blnBefore1, "before2" : $blnBefore2, "after1" : $blnAfter1, "after2" : $blnAfter2, "meet1" : $blnMeet1, "meet2" : $blnMeet2, "metby1" : $blnMetBy1, "metby2" : $blnMetBy2, "overlaps1" : $blnOverlaps1, "overlaps2" : $blnOverlaps2, "overlapped1" : $blnOverlapped1, "overlapped2" : $blnOverlapped2, "overlap1" : $blnOverlap1, "overlap2" : $blnOverlap2, "starts1" : $blnStarts1, "starts2" : $blnStarts2, "startedby1" : $blnStartedBy1, "startedby2" : $blnStartedBy2, "covers1" : $blnCovers1, "covers2" : $blnCovers2, "coveredby1" : $blnCoveredBy1, "coveredby2" : $blnCoveredBy2, "ends1" : $blnEnds1, "ends2" : $blnEnds2, "endedby1" : $blnEndedBy1, "endedby2" : $blnEndedBy2 }
\ No newline at end of file
+return { "before1" : $blnBefore1, "before2" : $blnBefore2, "after1" : $blnAfter1, "after2" : $blnAfter2, "meet1" : $blnMeet1, "meet2" : $blnMeet2, "metby1" : $blnMetBy1, "metby2" : $blnMetBy2, "overlaps1" : $blnOverlaps1, "overlaps2" : $blnOverlaps2, "overlapped1" : $blnOverlapped1, "overlapped2" : $blnOverlapped2, "overlap1" : $blnOverlap1, "overlap2" : $blnOverlap2, "starts1" : $blnStarts1, "starts2" : $blnStarts2, "startedby1" : $blnStartedBy1, "startedby2" : $blnStartedBy2, "covers1" : $blnCovers1, "covers2" : $blnCovers2, "coveredby1" : $blnCoveredBy1, "coveredby2" : $blnCoveredBy2, "ends1" : $blnEnds1, "ends2" : $blnEnds2, "endedby1" : $blnEndedBy1, "endedby2" : $blnEndedBy2 }
diff --git a/asterix-app/src/test/resources/runtimets/queries/temp/time_functions/time_functions.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/temp/time_functions/time_functions.1.ddl.aql
index 29adcc0..44244e0 100644
--- a/asterix-app/src/test/resources/runtimets/queries/temp/time_functions/time_functions.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/temp/time_functions/time_functions.1.ddl.aql
@@ -6,23 +6,4 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/temp_time_functions.adm";
-
-let $t1 := time-from-unix-time-in-ms(1560074)
-let $dt1 := datetime("1327-12-02T23:35:49.938Z")
-let $t2 := time-from-datetime($dt1)
-let $dt2 := datetime("2012-10-11T02:30:23+03:00")
-let $t3 := time-from-datetime($dt2)
-let $dr1 := duration("-PT30H")
-let $t4 := add-time-duration($t1, $dr1)
-let $dr2 := duration("PT36M")
-let $t5 := add-time-duration($t2, $dr2)
-let $dr3 := subtract-time($t5, $t2)
-let $dr4 := subtract-time($t4, $t1)
-let $ct := current-time()
-let $cd := current-date()
-let $cdt := current-datetime()
-
-return { "time1" : $t1, "time2" : $t2, "time3" : $t3, "time4" : $t4, "time5" : $t5, "duration1" : $dr3, "duration2" : $dr4  }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/temp/time_functions/time_functions.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/temp/time_functions/time_functions.2.update.aql
index 29adcc0..2024d63 100644
--- a/asterix-app/src/test/resources/runtimets/queries/temp/time_functions/time_functions.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/temp/time_functions/time_functions.2.update.aql
@@ -4,25 +4,3 @@
  * Date             :   24th Sep, 2012
  */
 
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/temp_time_functions.adm";
-
-let $t1 := time-from-unix-time-in-ms(1560074)
-let $dt1 := datetime("1327-12-02T23:35:49.938Z")
-let $t2 := time-from-datetime($dt1)
-let $dt2 := datetime("2012-10-11T02:30:23+03:00")
-let $t3 := time-from-datetime($dt2)
-let $dr1 := duration("-PT30H")
-let $t4 := add-time-duration($t1, $dr1)
-let $dr2 := duration("PT36M")
-let $t5 := add-time-duration($t2, $dr2)
-let $dr3 := subtract-time($t5, $t2)
-let $dr4 := subtract-time($t4, $t1)
-let $ct := current-time()
-let $cd := current-date()
-let $cdt := current-datetime()
-
-return { "time1" : $t1, "time2" : $t2, "time3" : $t3, "time4" : $t4, "time5" : $t5, "duration1" : $dr3, "duration2" : $dr4  }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/temp/time_functions/time_functions.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/temp/time_functions/time_functions.3.query.aql
index 29adcc0..9794bb3 100644
--- a/asterix-app/src/test/resources/runtimets/queries/temp/time_functions/time_functions.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/temp/time_functions/time_functions.3.query.aql
@@ -4,12 +4,8 @@
  * Date             :   24th Sep, 2012
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/temp_time_functions.adm";
-
 let $t1 := time-from-unix-time-in-ms(1560074)
 let $dt1 := datetime("1327-12-02T23:35:49.938Z")
 let $t2 := time-from-datetime($dt1)
@@ -25,4 +21,4 @@
 let $cd := current-date()
 let $cdt := current-datetime()
 
-return { "time1" : $t1, "time2" : $t2, "time3" : $t3, "time4" : $t4, "time5" : $t5, "duration1" : $dr3, "duration2" : $dr4  }
\ No newline at end of file
+return { "time1" : $t1, "time2" : $t2, "time3" : $t3, "time4" : $t4, "time5" : $t5, "duration1" : $dr3, "duration2" : $dr4  }
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/10_returned_item/10_returned_item.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/10_returned_item/10_returned_item.1.ddl.aql
deleted file mode 100644
index b775f09..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/10_returned_item/10_returned_item.1.ddl.aql
+++ /dev/null
@@ -1,195 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q10_returned_item.adm";
-
-
-for $locn in (
-for $l in dataset('LineItem')
-for $ocn in (
-	for $o in dataset('Orders')
-	for $c in dataset('Customer')
-		where $c.c_custkey = $o.o_custkey and $o.o_orderdate >= '1993-10-01' and $o.o_orderdate < '1994-01-01'
-	for $n in dataset('Nation')
-		where $c.c_nationkey = $n.n_nationkey
-	return {
-		"c_custkey": $c.c_custkey, 
-		"c_name": $c.c_name,
-  		"c_acctbal": $c.c_acctbal, 
-  		"n_name": $n.n_name, 
-  		"c_address": $c.c_address, 
-  		"c_phone": $c.c_phone, 
-  		"c_comment": $c.c_comment,
-  		"o_orderkey": $o.o_orderkey
-	}
-)
-where
-   $l.l_orderkey = $ocn.o_orderkey and $l.l_returnflag = 'R'
-   return {
-		"c_custkey": $ocn.c_custkey, 
-		"c_name": $ocn.c_name,
-  		"c_acctbal": $ocn.c_acctbal, 
-  		"n_name": $ocn.n_name, 
-  		"c_address": $ocn.c_address, 
-  		"c_phone": $ocn.c_phone, 
-  		"c_comment": $ocn.c_comment,
-  		"l_extendedprice": $l.l_extendedprice,
-  		"l_discount": $l.l_discount
-	}	
-)
-group by $c_custkey:=$locn.c_custkey, 
-		$c_name:=$locn.c_name, 
-		$c_acctbal:=$locn.c_acctbal, $c_phone:=$locn.c_phone, 
-		$n_name:=$locn.n_name, $c_address:=$locn.c_address, $c_comment:=$locn.c_comment
-		with $locn
-let $revenue := sum(for $i in $locn return $i.l_extendedprice * (1 - $i.l_discount))
-order by $revenue desc
-limit 20
-return {
-		"c_custkey": $c_custkey, 
-		"c_name": $c_name,
-		"revenue": $revenue,
-  		"c_acctbal": $c_acctbal, 
-  		"n_name": $n_name, 
-  		"c_address": $c_address, 
-  		"c_phone": $c_phone, 
-  		"c_comment": $c_comment
-}
-		
-		
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/10_returned_item/10_returned_item.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/10_returned_item/10_returned_item.2.update.aql
deleted file mode 100644
index b775f09..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/10_returned_item/10_returned_item.2.update.aql
+++ /dev/null
@@ -1,195 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q10_returned_item.adm";
-
-
-for $locn in (
-for $l in dataset('LineItem')
-for $ocn in (
-	for $o in dataset('Orders')
-	for $c in dataset('Customer')
-		where $c.c_custkey = $o.o_custkey and $o.o_orderdate >= '1993-10-01' and $o.o_orderdate < '1994-01-01'
-	for $n in dataset('Nation')
-		where $c.c_nationkey = $n.n_nationkey
-	return {
-		"c_custkey": $c.c_custkey, 
-		"c_name": $c.c_name,
-  		"c_acctbal": $c.c_acctbal, 
-  		"n_name": $n.n_name, 
-  		"c_address": $c.c_address, 
-  		"c_phone": $c.c_phone, 
-  		"c_comment": $c.c_comment,
-  		"o_orderkey": $o.o_orderkey
-	}
-)
-where
-   $l.l_orderkey = $ocn.o_orderkey and $l.l_returnflag = 'R'
-   return {
-		"c_custkey": $ocn.c_custkey, 
-		"c_name": $ocn.c_name,
-  		"c_acctbal": $ocn.c_acctbal, 
-  		"n_name": $ocn.n_name, 
-  		"c_address": $ocn.c_address, 
-  		"c_phone": $ocn.c_phone, 
-  		"c_comment": $ocn.c_comment,
-  		"l_extendedprice": $l.l_extendedprice,
-  		"l_discount": $l.l_discount
-	}	
-)
-group by $c_custkey:=$locn.c_custkey, 
-		$c_name:=$locn.c_name, 
-		$c_acctbal:=$locn.c_acctbal, $c_phone:=$locn.c_phone, 
-		$n_name:=$locn.n_name, $c_address:=$locn.c_address, $c_comment:=$locn.c_comment
-		with $locn
-let $revenue := sum(for $i in $locn return $i.l_extendedprice * (1 - $i.l_discount))
-order by $revenue desc
-limit 20
-return {
-		"c_custkey": $c_custkey, 
-		"c_name": $c_name,
-		"revenue": $revenue,
-  		"c_acctbal": $c_acctbal, 
-  		"n_name": $n_name, 
-  		"c_address": $c_address, 
-  		"c_phone": $c_phone, 
-  		"c_comment": $c_comment
-}
-		
-		
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/10_returned_item/10_returned_item.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/10_returned_item/10_returned_item.3.query.aql
deleted file mode 100644
index b775f09..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/10_returned_item/10_returned_item.3.query.aql
+++ /dev/null
@@ -1,195 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q10_returned_item.adm";
-
-
-for $locn in (
-for $l in dataset('LineItem')
-for $ocn in (
-	for $o in dataset('Orders')
-	for $c in dataset('Customer')
-		where $c.c_custkey = $o.o_custkey and $o.o_orderdate >= '1993-10-01' and $o.o_orderdate < '1994-01-01'
-	for $n in dataset('Nation')
-		where $c.c_nationkey = $n.n_nationkey
-	return {
-		"c_custkey": $c.c_custkey, 
-		"c_name": $c.c_name,
-  		"c_acctbal": $c.c_acctbal, 
-  		"n_name": $n.n_name, 
-  		"c_address": $c.c_address, 
-  		"c_phone": $c.c_phone, 
-  		"c_comment": $c.c_comment,
-  		"o_orderkey": $o.o_orderkey
-	}
-)
-where
-   $l.l_orderkey = $ocn.o_orderkey and $l.l_returnflag = 'R'
-   return {
-		"c_custkey": $ocn.c_custkey, 
-		"c_name": $ocn.c_name,
-  		"c_acctbal": $ocn.c_acctbal, 
-  		"n_name": $ocn.n_name, 
-  		"c_address": $ocn.c_address, 
-  		"c_phone": $ocn.c_phone, 
-  		"c_comment": $ocn.c_comment,
-  		"l_extendedprice": $l.l_extendedprice,
-  		"l_discount": $l.l_discount
-	}	
-)
-group by $c_custkey:=$locn.c_custkey, 
-		$c_name:=$locn.c_name, 
-		$c_acctbal:=$locn.c_acctbal, $c_phone:=$locn.c_phone, 
-		$n_name:=$locn.n_name, $c_address:=$locn.c_address, $c_comment:=$locn.c_comment
-		with $locn
-let $revenue := sum(for $i in $locn return $i.l_extendedprice * (1 - $i.l_discount))
-order by $revenue desc
-limit 20
-return {
-		"c_custkey": $c_custkey, 
-		"c_name": $c_name,
-		"revenue": $revenue,
-  		"c_acctbal": $c_acctbal, 
-  		"n_name": $n_name, 
-  		"c_address": $c_address, 
-  		"c_phone": $c_phone, 
-  		"c_comment": $c_comment
-}
-		
-		
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/10_returned_item_int64/10_returned_item_int64.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/10_returned_item_int64/10_returned_item_int64.1.ddl.aql
deleted file mode 100644
index 27fa512..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/10_returned_item_int64/10_returned_item_int64.1.ddl.aql
+++ /dev/null
@@ -1,195 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int64, 
-  l_partkey: int64, 
-  l_suppkey: int64, 
-  l_linenumber: int64, 
-  l_quantity: int64, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int64, 
-  o_custkey: int64, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int64, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int64, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int64, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int64, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int64,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int64,
-  n_name: string,
-  n_regionkey: int64,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int64, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int64, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int64,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int64, 
-  ps_suppkey: int64,
-  ps_availqty: int64,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q10_returned_item_int64.adm";
-
-
-for $locn in (
-for $l in dataset('LineItem')
-for $ocn in (
-	for $o in dataset('Orders')
-	for $c in dataset('Customer')
-		where $c.c_custkey = $o.o_custkey and $o.o_orderdate >= '1993-10-01' and $o.o_orderdate < '1994-01-01'
-	for $n in dataset('Nation')
-		where $c.c_nationkey = $n.n_nationkey
-	return {
-		"c_custkey": $c.c_custkey, 
-		"c_name": $c.c_name,
-  		"c_acctbal": $c.c_acctbal, 
-  		"n_name": $n.n_name, 
-  		"c_address": $c.c_address, 
-  		"c_phone": $c.c_phone, 
-  		"c_comment": $c.c_comment,
-  		"o_orderkey": $o.o_orderkey
-	}
-)
-where
-   $l.l_orderkey = $ocn.o_orderkey and $l.l_returnflag = 'R'
-   return {
-		"c_custkey": $ocn.c_custkey, 
-		"c_name": $ocn.c_name,
-  		"c_acctbal": $ocn.c_acctbal, 
-  		"n_name": $ocn.n_name, 
-  		"c_address": $ocn.c_address, 
-  		"c_phone": $ocn.c_phone, 
-  		"c_comment": $ocn.c_comment,
-  		"l_extendedprice": $l.l_extendedprice,
-  		"l_discount": $l.l_discount
-	}	
-)
-group by $c_custkey:=$locn.c_custkey, 
-		$c_name:=$locn.c_name, 
-		$c_acctbal:=$locn.c_acctbal, $c_phone:=$locn.c_phone, 
-		$n_name:=$locn.n_name, $c_address:=$locn.c_address, $c_comment:=$locn.c_comment
-		with $locn
-let $revenue := sum(for $i in $locn return $i.l_extendedprice * (1 - $i.l_discount))
-order by $revenue desc
-limit 20
-return {
-		"c_custkey": $c_custkey, 
-		"c_name": $c_name,
-		"revenue": $revenue,
-  		"c_acctbal": $c_acctbal, 
-  		"n_name": $n_name, 
-  		"c_address": $c_address, 
-  		"c_phone": $c_phone, 
-  		"c_comment": $c_comment
-}
-		
-		
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/10_returned_item_int64/10_returned_item_int64.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/10_returned_item_int64/10_returned_item_int64.2.update.aql
deleted file mode 100644
index 27fa512..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/10_returned_item_int64/10_returned_item_int64.2.update.aql
+++ /dev/null
@@ -1,195 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int64, 
-  l_partkey: int64, 
-  l_suppkey: int64, 
-  l_linenumber: int64, 
-  l_quantity: int64, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int64, 
-  o_custkey: int64, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int64, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int64, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int64, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int64, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int64,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int64,
-  n_name: string,
-  n_regionkey: int64,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int64, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int64, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int64,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int64, 
-  ps_suppkey: int64,
-  ps_availqty: int64,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q10_returned_item_int64.adm";
-
-
-for $locn in (
-for $l in dataset('LineItem')
-for $ocn in (
-	for $o in dataset('Orders')
-	for $c in dataset('Customer')
-		where $c.c_custkey = $o.o_custkey and $o.o_orderdate >= '1993-10-01' and $o.o_orderdate < '1994-01-01'
-	for $n in dataset('Nation')
-		where $c.c_nationkey = $n.n_nationkey
-	return {
-		"c_custkey": $c.c_custkey, 
-		"c_name": $c.c_name,
-  		"c_acctbal": $c.c_acctbal, 
-  		"n_name": $n.n_name, 
-  		"c_address": $c.c_address, 
-  		"c_phone": $c.c_phone, 
-  		"c_comment": $c.c_comment,
-  		"o_orderkey": $o.o_orderkey
-	}
-)
-where
-   $l.l_orderkey = $ocn.o_orderkey and $l.l_returnflag = 'R'
-   return {
-		"c_custkey": $ocn.c_custkey, 
-		"c_name": $ocn.c_name,
-  		"c_acctbal": $ocn.c_acctbal, 
-  		"n_name": $ocn.n_name, 
-  		"c_address": $ocn.c_address, 
-  		"c_phone": $ocn.c_phone, 
-  		"c_comment": $ocn.c_comment,
-  		"l_extendedprice": $l.l_extendedprice,
-  		"l_discount": $l.l_discount
-	}	
-)
-group by $c_custkey:=$locn.c_custkey, 
-		$c_name:=$locn.c_name, 
-		$c_acctbal:=$locn.c_acctbal, $c_phone:=$locn.c_phone, 
-		$n_name:=$locn.n_name, $c_address:=$locn.c_address, $c_comment:=$locn.c_comment
-		with $locn
-let $revenue := sum(for $i in $locn return $i.l_extendedprice * (1 - $i.l_discount))
-order by $revenue desc
-limit 20
-return {
-		"c_custkey": $c_custkey, 
-		"c_name": $c_name,
-		"revenue": $revenue,
-  		"c_acctbal": $c_acctbal, 
-  		"n_name": $n_name, 
-  		"c_address": $c_address, 
-  		"c_phone": $c_phone, 
-  		"c_comment": $c_comment
-}
-		
-		
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/10_returned_item_int64/10_returned_item_int64.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/10_returned_item_int64/10_returned_item_int64.3.query.aql
deleted file mode 100644
index 27fa512..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/10_returned_item_int64/10_returned_item_int64.3.query.aql
+++ /dev/null
@@ -1,195 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int64, 
-  l_partkey: int64, 
-  l_suppkey: int64, 
-  l_linenumber: int64, 
-  l_quantity: int64, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int64, 
-  o_custkey: int64, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int64, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int64, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int64, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int64, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int64,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int64,
-  n_name: string,
-  n_regionkey: int64,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int64, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int64, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int64,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int64, 
-  ps_suppkey: int64,
-  ps_availqty: int64,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q10_returned_item_int64.adm";
-
-
-for $locn in (
-for $l in dataset('LineItem')
-for $ocn in (
-	for $o in dataset('Orders')
-	for $c in dataset('Customer')
-		where $c.c_custkey = $o.o_custkey and $o.o_orderdate >= '1993-10-01' and $o.o_orderdate < '1994-01-01'
-	for $n in dataset('Nation')
-		where $c.c_nationkey = $n.n_nationkey
-	return {
-		"c_custkey": $c.c_custkey, 
-		"c_name": $c.c_name,
-  		"c_acctbal": $c.c_acctbal, 
-  		"n_name": $n.n_name, 
-  		"c_address": $c.c_address, 
-  		"c_phone": $c.c_phone, 
-  		"c_comment": $c.c_comment,
-  		"o_orderkey": $o.o_orderkey
-	}
-)
-where
-   $l.l_orderkey = $ocn.o_orderkey and $l.l_returnflag = 'R'
-   return {
-		"c_custkey": $ocn.c_custkey, 
-		"c_name": $ocn.c_name,
-  		"c_acctbal": $ocn.c_acctbal, 
-  		"n_name": $ocn.n_name, 
-  		"c_address": $ocn.c_address, 
-  		"c_phone": $ocn.c_phone, 
-  		"c_comment": $ocn.c_comment,
-  		"l_extendedprice": $l.l_extendedprice,
-  		"l_discount": $l.l_discount
-	}	
-)
-group by $c_custkey:=$locn.c_custkey, 
-		$c_name:=$locn.c_name, 
-		$c_acctbal:=$locn.c_acctbal, $c_phone:=$locn.c_phone, 
-		$n_name:=$locn.n_name, $c_address:=$locn.c_address, $c_comment:=$locn.c_comment
-		with $locn
-let $revenue := sum(for $i in $locn return $i.l_extendedprice * (1 - $i.l_discount))
-order by $revenue desc
-limit 20
-return {
-		"c_custkey": $c_custkey, 
-		"c_name": $c_name,
-		"revenue": $revenue,
-  		"c_acctbal": $c_acctbal, 
-  		"n_name": $n_name, 
-  		"c_address": $c_address, 
-  		"c_phone": $c_phone, 
-  		"c_comment": $c_comment
-}
-		
-		
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/11_important_stock/11_important_stock.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/11_important_stock/11_important_stock.1.ddl.aql
deleted file mode 100644
index 9e4b165..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/11_important_stock/11_important_stock.1.ddl.aql
+++ /dev/null
@@ -1,171 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q11_important_stock.adm";
-
-let $sum := sum (
-for $ps in dataset('Partsupp')
-for $sn in (
-	for $s in dataset('Supplier')
-	for $n in dataset('Nation')
-		where $s.s_nationkey = $n.n_nationkey
-	return {"s_suppkey": $s.s_suppkey}
-	)
-where $ps.ps_suppkey = $sn.s_suppkey
-return $ps.ps_supplycost * $ps.ps_availqty)
-
-for $t1 in 
-(
-for $ps in dataset('Partsupp')
-for $sn in (
-	for $s in dataset('Supplier')
-	for $n in dataset('Nation')
-		where $s.s_nationkey = $n.n_nationkey
-	return {"s_suppkey": $s.s_suppkey}
-)
-where $ps.ps_suppkey = $sn.s_suppkey
-group by $ps_partkey := $ps.ps_partkey with $ps
-return {"ps_partkey": $ps_partkey, 
-"part_value": sum(for $i in $ps return $i.ps_supplycost * $i.ps_availqty)}
-)
-
-where $t1.part_value > $sum * 0.00001
-order by $t1.part_value desc
-return {"partkey": $t1.ps_partkey, "part_value":$t1.part_value}
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/11_important_stock/11_important_stock.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/11_important_stock/11_important_stock.2.update.aql
deleted file mode 100644
index 9e4b165..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/11_important_stock/11_important_stock.2.update.aql
+++ /dev/null
@@ -1,171 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q11_important_stock.adm";
-
-let $sum := sum (
-for $ps in dataset('Partsupp')
-for $sn in (
-	for $s in dataset('Supplier')
-	for $n in dataset('Nation')
-		where $s.s_nationkey = $n.n_nationkey
-	return {"s_suppkey": $s.s_suppkey}
-	)
-where $ps.ps_suppkey = $sn.s_suppkey
-return $ps.ps_supplycost * $ps.ps_availqty)
-
-for $t1 in 
-(
-for $ps in dataset('Partsupp')
-for $sn in (
-	for $s in dataset('Supplier')
-	for $n in dataset('Nation')
-		where $s.s_nationkey = $n.n_nationkey
-	return {"s_suppkey": $s.s_suppkey}
-)
-where $ps.ps_suppkey = $sn.s_suppkey
-group by $ps_partkey := $ps.ps_partkey with $ps
-return {"ps_partkey": $ps_partkey, 
-"part_value": sum(for $i in $ps return $i.ps_supplycost * $i.ps_availqty)}
-)
-
-where $t1.part_value > $sum * 0.00001
-order by $t1.part_value desc
-return {"partkey": $t1.ps_partkey, "part_value":$t1.part_value}
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/11_important_stock/11_important_stock.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/11_important_stock/11_important_stock.3.query.aql
deleted file mode 100644
index 9e4b165..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/11_important_stock/11_important_stock.3.query.aql
+++ /dev/null
@@ -1,171 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q11_important_stock.adm";
-
-let $sum := sum (
-for $ps in dataset('Partsupp')
-for $sn in (
-	for $s in dataset('Supplier')
-	for $n in dataset('Nation')
-		where $s.s_nationkey = $n.n_nationkey
-	return {"s_suppkey": $s.s_suppkey}
-	)
-where $ps.ps_suppkey = $sn.s_suppkey
-return $ps.ps_supplycost * $ps.ps_availqty)
-
-for $t1 in 
-(
-for $ps in dataset('Partsupp')
-for $sn in (
-	for $s in dataset('Supplier')
-	for $n in dataset('Nation')
-		where $s.s_nationkey = $n.n_nationkey
-	return {"s_suppkey": $s.s_suppkey}
-)
-where $ps.ps_suppkey = $sn.s_suppkey
-group by $ps_partkey := $ps.ps_partkey with $ps
-return {"ps_partkey": $ps_partkey, 
-"part_value": sum(for $i in $ps return $i.ps_supplycost * $i.ps_availqty)}
-)
-
-where $t1.part_value > $sum * 0.00001
-order by $t1.part_value desc
-return {"partkey": $t1.ps_partkey, "part_value":$t1.part_value}
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/12_shipping/12_shipping.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/12_shipping/12_shipping.1.ddl.aql
deleted file mode 100644
index b541615..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/12_shipping/12_shipping.1.ddl.aql
+++ /dev/null
@@ -1,168 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q12_shipping.adm";
-
-for $l in dataset('LineItem')
-for $o in dataset('Orders')
-
-where
-$o.o_orderkey = $l.l_orderkey 
-and $l.l_commitdate < $l.l_receiptdate
-and $l.l_shipdate < $l.l_commitdate 
-and $l.l_receiptdate >= '1994-01-01' 
-and $l.l_receiptdate < '1995-01-01'
-and ($l.l_shipmode = 'MAIL' or $l.l_shipmode = 'SHIP')
-
-group by $l_shipmode := $l.l_shipmode with $o
-order by $l_shipmode
-return {
-"l_shipmode": $l_shipmode,
-"high_line_count": sum(for $i in $o 
-        return switch-case( $i.o_orderpriority ='1-URGENT' or $i.o_orderpriority ='2-HIGH',
-		true, 1,
-        false, 0)),
-"low_line_count": sum(for $i in $o 
-		return switch-case( $i.o_orderpriority ='1-URGENT' or $i.o_orderpriority ='2-HIGH',
-		true, 0,
-        false, 1))
-}
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/12_shipping/12_shipping.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/12_shipping/12_shipping.2.update.aql
deleted file mode 100644
index b541615..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/12_shipping/12_shipping.2.update.aql
+++ /dev/null
@@ -1,168 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q12_shipping.adm";
-
-for $l in dataset('LineItem')
-for $o in dataset('Orders')
-
-where
-$o.o_orderkey = $l.l_orderkey 
-and $l.l_commitdate < $l.l_receiptdate
-and $l.l_shipdate < $l.l_commitdate 
-and $l.l_receiptdate >= '1994-01-01' 
-and $l.l_receiptdate < '1995-01-01'
-and ($l.l_shipmode = 'MAIL' or $l.l_shipmode = 'SHIP')
-
-group by $l_shipmode := $l.l_shipmode with $o
-order by $l_shipmode
-return {
-"l_shipmode": $l_shipmode,
-"high_line_count": sum(for $i in $o 
-        return switch-case( $i.o_orderpriority ='1-URGENT' or $i.o_orderpriority ='2-HIGH',
-		true, 1,
-        false, 0)),
-"low_line_count": sum(for $i in $o 
-		return switch-case( $i.o_orderpriority ='1-URGENT' or $i.o_orderpriority ='2-HIGH',
-		true, 0,
-        false, 1))
-}
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/12_shipping/12_shipping.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/12_shipping/12_shipping.3.query.aql
deleted file mode 100644
index b541615..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/12_shipping/12_shipping.3.query.aql
+++ /dev/null
@@ -1,168 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q12_shipping.adm";
-
-for $l in dataset('LineItem')
-for $o in dataset('Orders')
-
-where
-$o.o_orderkey = $l.l_orderkey 
-and $l.l_commitdate < $l.l_receiptdate
-and $l.l_shipdate < $l.l_commitdate 
-and $l.l_receiptdate >= '1994-01-01' 
-and $l.l_receiptdate < '1995-01-01'
-and ($l.l_shipmode = 'MAIL' or $l.l_shipmode = 'SHIP')
-
-group by $l_shipmode := $l.l_shipmode with $o
-order by $l_shipmode
-return {
-"l_shipmode": $l_shipmode,
-"high_line_count": sum(for $i in $o 
-        return switch-case( $i.o_orderpriority ='1-URGENT' or $i.o_orderpriority ='2-HIGH',
-		true, 1,
-        false, 0)),
-"low_line_count": sum(for $i in $o 
-		return switch-case( $i.o_orderpriority ='1-URGENT' or $i.o_orderpriority ='2-HIGH',
-		true, 0,
-        false, 1))
-}
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/13_customer_distribution/13_customer_distribution.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/13_customer_distribution/13_customer_distribution.1.ddl.aql
deleted file mode 100644
index c4a987a..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/13_customer_distribution/13_customer_distribution.1.ddl.aql
+++ /dev/null
@@ -1,166 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-
-write output to nc1:"rttest/tpch_q13_customer_distribution.adm";
-
-for $gco in (
-	for $co in
-		(
-			for $c in dataset('Customer')
-			return 
-			{
-				"c_custkey": $c.c_custkey, 
-				 "o_orderkey_count": count(
-						for $o in dataset('Orders')
-   							where  $c.c_custkey = $o.o_custkey and not(like($o.o_comment,'%special%requests%'))
-						return $o.o_orderkey)
-			}
-		)
-	group by $c_custkey := $co.c_custkey with $co
-		return{
-			"c_custkey": $c_custkey, "c_count": sum(for $i in $co return $i.o_orderkey_count)
-		}
-)
-
-group by $c_count := $gco.c_count with $gco
-let $custdist := count($gco)
-order by $custdist desc, $c_count desc
-return {"c_count": $c_count, "custdist": $custdist}
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/13_customer_distribution/13_customer_distribution.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/13_customer_distribution/13_customer_distribution.2.update.aql
deleted file mode 100644
index c4a987a..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/13_customer_distribution/13_customer_distribution.2.update.aql
+++ /dev/null
@@ -1,166 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-
-write output to nc1:"rttest/tpch_q13_customer_distribution.adm";
-
-for $gco in (
-	for $co in
-		(
-			for $c in dataset('Customer')
-			return 
-			{
-				"c_custkey": $c.c_custkey, 
-				 "o_orderkey_count": count(
-						for $o in dataset('Orders')
-   							where  $c.c_custkey = $o.o_custkey and not(like($o.o_comment,'%special%requests%'))
-						return $o.o_orderkey)
-			}
-		)
-	group by $c_custkey := $co.c_custkey with $co
-		return{
-			"c_custkey": $c_custkey, "c_count": sum(for $i in $co return $i.o_orderkey_count)
-		}
-)
-
-group by $c_count := $gco.c_count with $gco
-let $custdist := count($gco)
-order by $custdist desc, $c_count desc
-return {"c_count": $c_count, "custdist": $custdist}
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/13_customer_distribution/13_customer_distribution.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/13_customer_distribution/13_customer_distribution.3.query.aql
deleted file mode 100644
index c4a987a..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/13_customer_distribution/13_customer_distribution.3.query.aql
+++ /dev/null
@@ -1,166 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-
-write output to nc1:"rttest/tpch_q13_customer_distribution.adm";
-
-for $gco in (
-	for $co in
-		(
-			for $c in dataset('Customer')
-			return 
-			{
-				"c_custkey": $c.c_custkey, 
-				 "o_orderkey_count": count(
-						for $o in dataset('Orders')
-   							where  $c.c_custkey = $o.o_custkey and not(like($o.o_comment,'%special%requests%'))
-						return $o.o_orderkey)
-			}
-		)
-	group by $c_custkey := $co.c_custkey with $co
-		return{
-			"c_custkey": $c_custkey, "c_count": sum(for $i in $co return $i.o_orderkey_count)
-		}
-)
-
-group by $c_count := $gco.c_count with $gco
-let $custdist := count($gco)
-order by $custdist desc, $c_count desc
-return {"c_count": $c_count, "custdist": $custdist}
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/14_promotion_effect/14_promotion_effect.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/14_promotion_effect/14_promotion_effect.1.ddl.aql
deleted file mode 100644
index 4ea7988..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/14_promotion_effect/14_promotion_effect.1.ddl.aql
+++ /dev/null
@@ -1,152 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-
-write output to nc1:"rttest/tpch_q14_promotion_effect.adm";
-
-for $l in dataset('LineItem')
-for $p in dataset('Part')
-	where $l.l_partkey = $p.p_partkey and $l.l_shipdate >= '1995-09-01' and $l.l_shipdate < '1995-10-01'
-group by $t:=1 with $l, $p
-return 100.00 * sum( for $i in $l
-			   return switch-case(like($i.p_type, 'PROMO%'),
-               true, $i.l_extendedprice*(1-$i.l_discount),
-               false, 0.0)
-  ) / sum( for $i in $l return $i.l_extendedprice * (1 - $i.l_discount))
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/14_promotion_effect/14_promotion_effect.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/14_promotion_effect/14_promotion_effect.2.update.aql
deleted file mode 100644
index 4ea7988..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/14_promotion_effect/14_promotion_effect.2.update.aql
+++ /dev/null
@@ -1,152 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-
-write output to nc1:"rttest/tpch_q14_promotion_effect.adm";
-
-for $l in dataset('LineItem')
-for $p in dataset('Part')
-	where $l.l_partkey = $p.p_partkey and $l.l_shipdate >= '1995-09-01' and $l.l_shipdate < '1995-10-01'
-group by $t:=1 with $l, $p
-return 100.00 * sum( for $i in $l
-			   return switch-case(like($i.p_type, 'PROMO%'),
-               true, $i.l_extendedprice*(1-$i.l_discount),
-               false, 0.0)
-  ) / sum( for $i in $l return $i.l_extendedprice * (1 - $i.l_discount))
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/14_promotion_effect/14_promotion_effect.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/14_promotion_effect/14_promotion_effect.3.query.aql
deleted file mode 100644
index 4ea7988..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/14_promotion_effect/14_promotion_effect.3.query.aql
+++ /dev/null
@@ -1,152 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-
-write output to nc1:"rttest/tpch_q14_promotion_effect.adm";
-
-for $l in dataset('LineItem')
-for $p in dataset('Part')
-	where $l.l_partkey = $p.p_partkey and $l.l_shipdate >= '1995-09-01' and $l.l_shipdate < '1995-10-01'
-group by $t:=1 with $l, $p
-return 100.00 * sum( for $i in $l
-			   return switch-case(like($i.p_type, 'PROMO%'),
-               true, $i.l_extendedprice*(1-$i.l_discount),
-               false, 0.0)
-  ) / sum( for $i in $l return $i.l_extendedprice * (1 - $i.l_discount))
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/15_top_supplier/15_top_supplier.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/15_top_supplier/15_top_supplier.1.ddl.aql
deleted file mode 100644
index 29830a9..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/15_top_supplier/15_top_supplier.1.ddl.aql
+++ /dev/null
@@ -1,168 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-
-write output to nc1:"rttest/tpch_q15_top_supplier.adm";
-
-declare function revenue(){
-for $l in dataset('LineItem')
-where $l.l_shipdate >= '1996-01-01' and $l.l_shipdate < '1996-04-01'
-group by $l_suppkey := $l.l_suppkey with $l
-return {
-"supplier_no": $l_suppkey, 
-"total_revenue": sum(for $i in $l return $i.l_extendedprice * (1 - $i.l_discount))
-}
-}
-
-let $m := max(
-	for $r2 in revenue()
-	return $r2.total_revenue
-)
-
-for $s in dataset('Supplier')
-for $r in revenue()
-	where $s.s_suppkey = $r.supplier_no and $r.total_revenue=$m
-return {
-"s_suppkey": $s.s_suppkey, 
-"s_name": $s.s_name, 
-"s_address": $s.s_address, 
-"s_phone": $s.s_phone, 
-"total_revenue": $r.total_revenue
-}
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/15_top_supplier/15_top_supplier.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/15_top_supplier/15_top_supplier.2.update.aql
deleted file mode 100644
index 29830a9..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/15_top_supplier/15_top_supplier.2.update.aql
+++ /dev/null
@@ -1,168 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-
-write output to nc1:"rttest/tpch_q15_top_supplier.adm";
-
-declare function revenue(){
-for $l in dataset('LineItem')
-where $l.l_shipdate >= '1996-01-01' and $l.l_shipdate < '1996-04-01'
-group by $l_suppkey := $l.l_suppkey with $l
-return {
-"supplier_no": $l_suppkey, 
-"total_revenue": sum(for $i in $l return $i.l_extendedprice * (1 - $i.l_discount))
-}
-}
-
-let $m := max(
-	for $r2 in revenue()
-	return $r2.total_revenue
-)
-
-for $s in dataset('Supplier')
-for $r in revenue()
-	where $s.s_suppkey = $r.supplier_no and $r.total_revenue=$m
-return {
-"s_suppkey": $s.s_suppkey, 
-"s_name": $s.s_name, 
-"s_address": $s.s_address, 
-"s_phone": $s.s_phone, 
-"total_revenue": $r.total_revenue
-}
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/15_top_supplier/15_top_supplier.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/15_top_supplier/15_top_supplier.3.query.aql
deleted file mode 100644
index 29830a9..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/15_top_supplier/15_top_supplier.3.query.aql
+++ /dev/null
@@ -1,168 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-
-write output to nc1:"rttest/tpch_q15_top_supplier.adm";
-
-declare function revenue(){
-for $l in dataset('LineItem')
-where $l.l_shipdate >= '1996-01-01' and $l.l_shipdate < '1996-04-01'
-group by $l_suppkey := $l.l_suppkey with $l
-return {
-"supplier_no": $l_suppkey, 
-"total_revenue": sum(for $i in $l return $i.l_extendedprice * (1 - $i.l_discount))
-}
-}
-
-let $m := max(
-	for $r2 in revenue()
-	return $r2.total_revenue
-)
-
-for $s in dataset('Supplier')
-for $r in revenue()
-	where $s.s_suppkey = $r.supplier_no and $r.total_revenue=$m
-return {
-"s_suppkey": $s.s_suppkey, 
-"s_name": $s.s_name, 
-"s_address": $s.s_address, 
-"s_phone": $s.s_phone, 
-"total_revenue": $r.total_revenue
-}
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/16_parts_supplier_relationship/16_parts_supplier_relationship.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/16_parts_supplier_relationship/16_parts_supplier_relationship.1.ddl.aql
deleted file mode 100644
index 978fb0f..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/16_parts_supplier_relationship/16_parts_supplier_relationship.1.ddl.aql
+++ /dev/null
@@ -1,196 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-
-
-write output to nc1:"rttest/tpch_q16_parts_supplier_relationship.adm";
-
-declare function tmp(){
-for $psp in (
-	for $ps in dataset('Partsupp')
-	for $p in dataset('Part')
-		where $p.p_partkey = $ps.ps_partkey and $p.p_brand != 'Brand#45' 
-    	and not(like($p.p_type, 'MEDIUM POLISHED%'))
-	return 
-	{
- 	"p_brand": $p.p_brand, 
- 	"p_type": $p.p_type, 
- 	"p_size": $p.p_size,
- 	"ps_suppkey": $ps.ps_suppkey
-	}
-)
-for $s in dataset('Supplier')
-	where $psp.ps_suppkey = $s.s_suppkey and not(like($s.s_comment, '%Customer%Complaints%'))
-return 
-{
- "p_brand": $psp.p_brand, 
- "p_type": $psp.p_type, 
- "p_size": $psp.p_size, 
- "ps_suppkey": $psp.ps_suppkey
-}
-}
-
-for $t2 in 
-(
-for $t in tmp()   
-	where $t.p_size = 49 or $t.p_size = 14 or $t.p_size = 23 or
-         $t.p_size = 45 or $t.p_size = 19 or $t.p_size = 3 or
-         $t.p_size = 36 or $t.p_size = 9
-group by $p_brand1:= $t.p_brand, $p_type1 := $t.p_type, 
-	  $p_size1:= $t.p_size, $ps_suppkey1:=$t.ps_suppkey with $t
-return 
-{
-"p_brand": $p_brand1, 
- "p_type": $p_type1, 
- "p_size": $p_size1, 
- "ps_suppkey": $ps_suppkey1
-} )
-group by $p_brand := $t2.p_brand, $p_type := $t2.p_type, $p_size := $t2.p_size with $t2
-let $supplier_cnt := count(for $i in $t2 return $i.ps_suppkey)
-order by $supplier_cnt desc, $p_brand, $p_type, $p_size
-return {
-"p_brand": $p_brand, 
-"p_type": $p_type, 
-"p_size": $p_size,
-"supplier_cnt": $supplier_cnt
-}
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/16_parts_supplier_relationship/16_parts_supplier_relationship.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/16_parts_supplier_relationship/16_parts_supplier_relationship.2.update.aql
deleted file mode 100644
index 978fb0f..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/16_parts_supplier_relationship/16_parts_supplier_relationship.2.update.aql
+++ /dev/null
@@ -1,196 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-
-
-write output to nc1:"rttest/tpch_q16_parts_supplier_relationship.adm";
-
-declare function tmp(){
-for $psp in (
-	for $ps in dataset('Partsupp')
-	for $p in dataset('Part')
-		where $p.p_partkey = $ps.ps_partkey and $p.p_brand != 'Brand#45' 
-    	and not(like($p.p_type, 'MEDIUM POLISHED%'))
-	return 
-	{
- 	"p_brand": $p.p_brand, 
- 	"p_type": $p.p_type, 
- 	"p_size": $p.p_size,
- 	"ps_suppkey": $ps.ps_suppkey
-	}
-)
-for $s in dataset('Supplier')
-	where $psp.ps_suppkey = $s.s_suppkey and not(like($s.s_comment, '%Customer%Complaints%'))
-return 
-{
- "p_brand": $psp.p_brand, 
- "p_type": $psp.p_type, 
- "p_size": $psp.p_size, 
- "ps_suppkey": $psp.ps_suppkey
-}
-}
-
-for $t2 in 
-(
-for $t in tmp()   
-	where $t.p_size = 49 or $t.p_size = 14 or $t.p_size = 23 or
-         $t.p_size = 45 or $t.p_size = 19 or $t.p_size = 3 or
-         $t.p_size = 36 or $t.p_size = 9
-group by $p_brand1:= $t.p_brand, $p_type1 := $t.p_type, 
-	  $p_size1:= $t.p_size, $ps_suppkey1:=$t.ps_suppkey with $t
-return 
-{
-"p_brand": $p_brand1, 
- "p_type": $p_type1, 
- "p_size": $p_size1, 
- "ps_suppkey": $ps_suppkey1
-} )
-group by $p_brand := $t2.p_brand, $p_type := $t2.p_type, $p_size := $t2.p_size with $t2
-let $supplier_cnt := count(for $i in $t2 return $i.ps_suppkey)
-order by $supplier_cnt desc, $p_brand, $p_type, $p_size
-return {
-"p_brand": $p_brand, 
-"p_type": $p_type, 
-"p_size": $p_size,
-"supplier_cnt": $supplier_cnt
-}
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/16_parts_supplier_relationship/16_parts_supplier_relationship.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/16_parts_supplier_relationship/16_parts_supplier_relationship.3.query.aql
deleted file mode 100644
index 978fb0f..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/16_parts_supplier_relationship/16_parts_supplier_relationship.3.query.aql
+++ /dev/null
@@ -1,196 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-
-
-write output to nc1:"rttest/tpch_q16_parts_supplier_relationship.adm";
-
-declare function tmp(){
-for $psp in (
-	for $ps in dataset('Partsupp')
-	for $p in dataset('Part')
-		where $p.p_partkey = $ps.ps_partkey and $p.p_brand != 'Brand#45' 
-    	and not(like($p.p_type, 'MEDIUM POLISHED%'))
-	return 
-	{
- 	"p_brand": $p.p_brand, 
- 	"p_type": $p.p_type, 
- 	"p_size": $p.p_size,
- 	"ps_suppkey": $ps.ps_suppkey
-	}
-)
-for $s in dataset('Supplier')
-	where $psp.ps_suppkey = $s.s_suppkey and not(like($s.s_comment, '%Customer%Complaints%'))
-return 
-{
- "p_brand": $psp.p_brand, 
- "p_type": $psp.p_type, 
- "p_size": $psp.p_size, 
- "ps_suppkey": $psp.ps_suppkey
-}
-}
-
-for $t2 in 
-(
-for $t in tmp()   
-	where $t.p_size = 49 or $t.p_size = 14 or $t.p_size = 23 or
-         $t.p_size = 45 or $t.p_size = 19 or $t.p_size = 3 or
-         $t.p_size = 36 or $t.p_size = 9
-group by $p_brand1:= $t.p_brand, $p_type1 := $t.p_type, 
-	  $p_size1:= $t.p_size, $ps_suppkey1:=$t.ps_suppkey with $t
-return 
-{
-"p_brand": $p_brand1, 
- "p_type": $p_type1, 
- "p_size": $p_size1, 
- "ps_suppkey": $ps_suppkey1
-} )
-group by $p_brand := $t2.p_brand, $p_type := $t2.p_type, $p_size := $t2.p_size with $t2
-let $supplier_cnt := count(for $i in $t2 return $i.ps_suppkey)
-order by $supplier_cnt desc, $p_brand, $p_type, $p_size
-return {
-"p_brand": $p_brand, 
-"p_type": $p_type, 
-"p_size": $p_size,
-"supplier_cnt": $supplier_cnt
-}
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/17_small_quantity_order_revenue/17_small_quantity_order_revenue.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/17_small_quantity_order_revenue/17_small_quantity_order_revenue.1.ddl.aql
deleted file mode 100644
index 92e4083..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/17_small_quantity_order_revenue/17_small_quantity_order_revenue.1.ddl.aql
+++ /dev/null
@@ -1,162 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-
-write output to nc1:"rttest/tpch_q17_small_quantity_order_revenue.adm";
-
-declare function tmp(){
-for $l in dataset('LineItem')
-group by $l_partkey := $l.l_partkey with $l
-return {
-"t_partkey": $l_partkey, 
-"t_avg_quantity": 0.2 * avg(for $i in $l return $i.l_quantity)
-}
-}
-
-sum(
-for $l in dataset('LineItem')
-for $p in dataset('Part')
-where  $p.p_partkey = $l.l_partkey and $p.p_container = 'MED BOX'
-
-for $t in tmp()
-where $l.l_partkey = $t.t_partkey and $l.l_quantity < $t.t_avg_quantity
-return $l.l_extendedprice
-)/7.0
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/17_small_quantity_order_revenue/17_small_quantity_order_revenue.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/17_small_quantity_order_revenue/17_small_quantity_order_revenue.2.update.aql
deleted file mode 100644
index 92e4083..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/17_small_quantity_order_revenue/17_small_quantity_order_revenue.2.update.aql
+++ /dev/null
@@ -1,162 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-
-write output to nc1:"rttest/tpch_q17_small_quantity_order_revenue.adm";
-
-declare function tmp(){
-for $l in dataset('LineItem')
-group by $l_partkey := $l.l_partkey with $l
-return {
-"t_partkey": $l_partkey, 
-"t_avg_quantity": 0.2 * avg(for $i in $l return $i.l_quantity)
-}
-}
-
-sum(
-for $l in dataset('LineItem')
-for $p in dataset('Part')
-where  $p.p_partkey = $l.l_partkey and $p.p_container = 'MED BOX'
-
-for $t in tmp()
-where $l.l_partkey = $t.t_partkey and $l.l_quantity < $t.t_avg_quantity
-return $l.l_extendedprice
-)/7.0
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/17_small_quantity_order_revenue/17_small_quantity_order_revenue.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/17_small_quantity_order_revenue/17_small_quantity_order_revenue.3.query.aql
deleted file mode 100644
index 92e4083..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/17_small_quantity_order_revenue/17_small_quantity_order_revenue.3.query.aql
+++ /dev/null
@@ -1,162 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-
-write output to nc1:"rttest/tpch_q17_small_quantity_order_revenue.adm";
-
-declare function tmp(){
-for $l in dataset('LineItem')
-group by $l_partkey := $l.l_partkey with $l
-return {
-"t_partkey": $l_partkey, 
-"t_avg_quantity": 0.2 * avg(for $i in $l return $i.l_quantity)
-}
-}
-
-sum(
-for $l in dataset('LineItem')
-for $p in dataset('Part')
-where  $p.p_partkey = $l.l_partkey and $p.p_container = 'MED BOX'
-
-for $t in tmp()
-where $l.l_partkey = $t.t_partkey and $l.l_quantity < $t.t_avg_quantity
-return $l.l_extendedprice
-)/7.0
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/18_large_volume_customer/18_large_volume_customer.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/18_large_volume_customer/18_large_volume_customer.1.ddl.aql
deleted file mode 100644
index 9ab4f83..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/18_large_volume_customer/18_large_volume_customer.1.ddl.aql
+++ /dev/null
@@ -1,173 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-
-write output to nc1:"rttest/tpch_q18_large_volume_customer.adm";
-
-for $c in dataset('Customer')
-for $o in dataset('Orders')
-where
-  $c.c_custkey = $o.o_custkey
-for $t in 
-(
-  for $l in dataset('LineItem')
-  group by $l_orderkey := $l.l_orderkey with $l
-  return 
-    { "l_orderkey": $l_orderkey, 
-      "t_sum_quantity": sum(for $i in $l return $i.l_quantity) }
-) 
-where 
-  $o.o_orderkey = $t.l_orderkey and $t.t_sum_quantity > 30
-for $l in dataset('LineItem')
-where
-  $l.l_orderkey = $o.o_orderkey 
-group by $c_name := $c.c_name, $c_custkey := $c.c_custkey, $o_orderkey := $o.o_orderkey, 
-         $o_orderdate := $o.o_orderdate, $o_totalprice := $o.o_totalprice with $l
-order by $o_totalprice desc, $o_orderdate 
-limit 100
-return {  
-  "c_name": $c_name,
-  "c_custkey": $c_custkey,
-  "o_orderkey": $o_orderkey,
-  "o_orderdate": $o_orderdate,
-  "o_totalprice": $o_totalprice,
-  "sum_quantity": sum(for $j in $l return $j.l_quantity)  
-}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/18_large_volume_customer/18_large_volume_customer.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/18_large_volume_customer/18_large_volume_customer.2.update.aql
deleted file mode 100644
index 9ab4f83..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/18_large_volume_customer/18_large_volume_customer.2.update.aql
+++ /dev/null
@@ -1,173 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-
-write output to nc1:"rttest/tpch_q18_large_volume_customer.adm";
-
-for $c in dataset('Customer')
-for $o in dataset('Orders')
-where
-  $c.c_custkey = $o.o_custkey
-for $t in 
-(
-  for $l in dataset('LineItem')
-  group by $l_orderkey := $l.l_orderkey with $l
-  return 
-    { "l_orderkey": $l_orderkey, 
-      "t_sum_quantity": sum(for $i in $l return $i.l_quantity) }
-) 
-where 
-  $o.o_orderkey = $t.l_orderkey and $t.t_sum_quantity > 30
-for $l in dataset('LineItem')
-where
-  $l.l_orderkey = $o.o_orderkey 
-group by $c_name := $c.c_name, $c_custkey := $c.c_custkey, $o_orderkey := $o.o_orderkey, 
-         $o_orderdate := $o.o_orderdate, $o_totalprice := $o.o_totalprice with $l
-order by $o_totalprice desc, $o_orderdate 
-limit 100
-return {  
-  "c_name": $c_name,
-  "c_custkey": $c_custkey,
-  "o_orderkey": $o_orderkey,
-  "o_orderdate": $o_orderdate,
-  "o_totalprice": $o_totalprice,
-  "sum_quantity": sum(for $j in $l return $j.l_quantity)  
-}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/18_large_volume_customer/18_large_volume_customer.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/18_large_volume_customer/18_large_volume_customer.3.query.aql
deleted file mode 100644
index 9ab4f83..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/18_large_volume_customer/18_large_volume_customer.3.query.aql
+++ /dev/null
@@ -1,173 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-
-write output to nc1:"rttest/tpch_q18_large_volume_customer.adm";
-
-for $c in dataset('Customer')
-for $o in dataset('Orders')
-where
-  $c.c_custkey = $o.o_custkey
-for $t in 
-(
-  for $l in dataset('LineItem')
-  group by $l_orderkey := $l.l_orderkey with $l
-  return 
-    { "l_orderkey": $l_orderkey, 
-      "t_sum_quantity": sum(for $i in $l return $i.l_quantity) }
-) 
-where 
-  $o.o_orderkey = $t.l_orderkey and $t.t_sum_quantity > 30
-for $l in dataset('LineItem')
-where
-  $l.l_orderkey = $o.o_orderkey 
-group by $c_name := $c.c_name, $c_custkey := $c.c_custkey, $o_orderkey := $o.o_orderkey, 
-         $o_orderdate := $o.o_orderdate, $o_totalprice := $o.o_totalprice with $l
-order by $o_totalprice desc, $o_orderdate 
-limit 100
-return {  
-  "c_name": $c_name,
-  "c_custkey": $c_custkey,
-  "o_orderkey": $o_orderkey,
-  "o_orderdate": $o_orderdate,
-  "o_totalprice": $o_totalprice,
-  "sum_quantity": sum(for $j in $l return $j.l_quantity)  
-}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/19_discounted_revenue/19_discounted_revenue.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/19_discounted_revenue/19_discounted_revenue.1.ddl.aql
deleted file mode 100644
index c83f663..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/19_discounted_revenue/19_discounted_revenue.1.ddl.aql
+++ /dev/null
@@ -1,176 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q19_discounted_revenue.adm";
-
-sum( 
-for $l in dataset('LineItem')
-for $p in dataset('Part')
-where $p.p_partkey = $l.l_partkey
-and (
- (
-    $p.p_brand = 'Brand#12'
-	and reg-exp($p.p_container,'SM CASE||SM BOX||SM PACK||SM PKG')
-	and $l.l_quantity >= 1 and $l.l_quantity <= 11
-	and $p.p_size >= 1 and $p.p_size <= 5
-	and reg-exp($l.l_shipmode, 'AIR||AIR REG')
-	and $l.l_shipinstruct = 'DELIVER IN PERSON'
-  ) 
-  or 
-  (
-    $p.p_brand = 'Brand#23'
-	and reg-exp($p.p_container, 'MED BAG||MED BOX||MED PKG||MED PACK')
-	and $l.l_quantity >= 10 and $l.l_quantity <= 20
-	and $p.p_size >= 1 and $p.p_size <= 10
-	and reg-exp($l.l_shipmode, 'AIR||AIR REG')
-	and $l.l_shipinstruct = 'DELIVER IN PERSON'
-  )
-  or
-  (
-	$p.p_brand = 'Brand#34'
-	and reg-exp($p.p_container, 'LG CASE||LG BOX||LG PACK||LG PKG')
-	and $l.l_quantity >= 20 and $l.l_quantity <= 30
-	and $p.p_size >= 1 and $p.p_size <= 15
-	and reg-exp($l.l_shipmode, 'AIR||AIR REG')
-	and $l.l_shipinstruct = 'DELIVER IN PERSON'
-  )
- )
-return $l.l_extendedprice * (1 - $l.l_discount)
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/19_discounted_revenue/19_discounted_revenue.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/19_discounted_revenue/19_discounted_revenue.2.update.aql
deleted file mode 100644
index c83f663..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/19_discounted_revenue/19_discounted_revenue.2.update.aql
+++ /dev/null
@@ -1,176 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q19_discounted_revenue.adm";
-
-sum( 
-for $l in dataset('LineItem')
-for $p in dataset('Part')
-where $p.p_partkey = $l.l_partkey
-and (
- (
-    $p.p_brand = 'Brand#12'
-	and reg-exp($p.p_container,'SM CASE||SM BOX||SM PACK||SM PKG')
-	and $l.l_quantity >= 1 and $l.l_quantity <= 11
-	and $p.p_size >= 1 and $p.p_size <= 5
-	and reg-exp($l.l_shipmode, 'AIR||AIR REG')
-	and $l.l_shipinstruct = 'DELIVER IN PERSON'
-  ) 
-  or 
-  (
-    $p.p_brand = 'Brand#23'
-	and reg-exp($p.p_container, 'MED BAG||MED BOX||MED PKG||MED PACK')
-	and $l.l_quantity >= 10 and $l.l_quantity <= 20
-	and $p.p_size >= 1 and $p.p_size <= 10
-	and reg-exp($l.l_shipmode, 'AIR||AIR REG')
-	and $l.l_shipinstruct = 'DELIVER IN PERSON'
-  )
-  or
-  (
-	$p.p_brand = 'Brand#34'
-	and reg-exp($p.p_container, 'LG CASE||LG BOX||LG PACK||LG PKG')
-	and $l.l_quantity >= 20 and $l.l_quantity <= 30
-	and $p.p_size >= 1 and $p.p_size <= 15
-	and reg-exp($l.l_shipmode, 'AIR||AIR REG')
-	and $l.l_shipinstruct = 'DELIVER IN PERSON'
-  )
- )
-return $l.l_extendedprice * (1 - $l.l_discount)
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/19_discounted_revenue/19_discounted_revenue.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/19_discounted_revenue/19_discounted_revenue.3.query.aql
deleted file mode 100644
index c83f663..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/19_discounted_revenue/19_discounted_revenue.3.query.aql
+++ /dev/null
@@ -1,176 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q19_discounted_revenue.adm";
-
-sum( 
-for $l in dataset('LineItem')
-for $p in dataset('Part')
-where $p.p_partkey = $l.l_partkey
-and (
- (
-    $p.p_brand = 'Brand#12'
-	and reg-exp($p.p_container,'SM CASE||SM BOX||SM PACK||SM PKG')
-	and $l.l_quantity >= 1 and $l.l_quantity <= 11
-	and $p.p_size >= 1 and $p.p_size <= 5
-	and reg-exp($l.l_shipmode, 'AIR||AIR REG')
-	and $l.l_shipinstruct = 'DELIVER IN PERSON'
-  ) 
-  or 
-  (
-    $p.p_brand = 'Brand#23'
-	and reg-exp($p.p_container, 'MED BAG||MED BOX||MED PKG||MED PACK')
-	and $l.l_quantity >= 10 and $l.l_quantity <= 20
-	and $p.p_size >= 1 and $p.p_size <= 10
-	and reg-exp($l.l_shipmode, 'AIR||AIR REG')
-	and $l.l_shipinstruct = 'DELIVER IN PERSON'
-  )
-  or
-  (
-	$p.p_brand = 'Brand#34'
-	and reg-exp($p.p_container, 'LG CASE||LG BOX||LG PACK||LG PKG')
-	and $l.l_quantity >= 20 and $l.l_quantity <= 30
-	and $p.p_size >= 1 and $p.p_size <= 15
-	and reg-exp($l.l_shipmode, 'AIR||AIR REG')
-	and $l.l_shipinstruct = 'DELIVER IN PERSON'
-  )
- )
-return $l.l_extendedprice * (1 - $l.l_discount)
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/1_pricing_summary_report_nt/1_pricing_summary_report_nt.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/1_pricing_summary_report_nt/1_pricing_summary_report_nt.1.ddl.aql
deleted file mode 100644
index b6de1fa..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/1_pricing_summary_report_nt/1_pricing_summary_report_nt.1.ddl.aql
+++ /dev/null
@@ -1,50 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: double, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q1_pricing_summary_report_nt.adm";
- 
-for $l in dataset('LineItem')
-where $l.l_shipdate <= '1998-09-02'
-/*+ hash*/
-group by $l_returnflag := $l.l_returnflag, $l_linestatus := $l.l_linestatus  
-  with $l
-order by $l_returnflag, $l_linestatus
-return {
-  "l_returnflag": $l_returnflag,
-  "l_linestatus": $l_linestatus,
-  "sum_qty": sum(for $i in $l return $i.l_quantity),
-  "sum_base_price": sum(for $i in $l return $i.l_extendedprice),
-  "sum_disc_price": sum(for $i in $l return $i.l_extendedprice * (1 - $i.l_discount)),
-  "sum_charge": sum(for $i in $l return $i.l_extendedprice * (1 - $i.l_discount) * (1 + $i.l_tax)),
-  "ave_qty": avg(for $i in $l return $i.l_quantity),  
-  "ave_price": avg(for $i in $l return $i.l_extendedprice),
-  "ave_disc": avg(for $i in $l return $i.l_discount),
-  "count_order": count($l)
-}   
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/1_pricing_summary_report_nt/1_pricing_summary_report_nt.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/1_pricing_summary_report_nt/1_pricing_summary_report_nt.2.update.aql
deleted file mode 100644
index b6de1fa..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/1_pricing_summary_report_nt/1_pricing_summary_report_nt.2.update.aql
+++ /dev/null
@@ -1,50 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: double, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q1_pricing_summary_report_nt.adm";
- 
-for $l in dataset('LineItem')
-where $l.l_shipdate <= '1998-09-02'
-/*+ hash*/
-group by $l_returnflag := $l.l_returnflag, $l_linestatus := $l.l_linestatus  
-  with $l
-order by $l_returnflag, $l_linestatus
-return {
-  "l_returnflag": $l_returnflag,
-  "l_linestatus": $l_linestatus,
-  "sum_qty": sum(for $i in $l return $i.l_quantity),
-  "sum_base_price": sum(for $i in $l return $i.l_extendedprice),
-  "sum_disc_price": sum(for $i in $l return $i.l_extendedprice * (1 - $i.l_discount)),
-  "sum_charge": sum(for $i in $l return $i.l_extendedprice * (1 - $i.l_discount) * (1 + $i.l_tax)),
-  "ave_qty": avg(for $i in $l return $i.l_quantity),  
-  "ave_price": avg(for $i in $l return $i.l_extendedprice),
-  "ave_disc": avg(for $i in $l return $i.l_discount),
-  "count_order": count($l)
-}   
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/1_pricing_summary_report_nt/1_pricing_summary_report_nt.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/1_pricing_summary_report_nt/1_pricing_summary_report_nt.3.query.aql
deleted file mode 100644
index b6de1fa..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/1_pricing_summary_report_nt/1_pricing_summary_report_nt.3.query.aql
+++ /dev/null
@@ -1,50 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: double, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q1_pricing_summary_report_nt.adm";
- 
-for $l in dataset('LineItem')
-where $l.l_shipdate <= '1998-09-02'
-/*+ hash*/
-group by $l_returnflag := $l.l_returnflag, $l_linestatus := $l.l_linestatus  
-  with $l
-order by $l_returnflag, $l_linestatus
-return {
-  "l_returnflag": $l_returnflag,
-  "l_linestatus": $l_linestatus,
-  "sum_qty": sum(for $i in $l return $i.l_quantity),
-  "sum_base_price": sum(for $i in $l return $i.l_extendedprice),
-  "sum_disc_price": sum(for $i in $l return $i.l_extendedprice * (1 - $i.l_discount)),
-  "sum_charge": sum(for $i in $l return $i.l_extendedprice * (1 - $i.l_discount) * (1 + $i.l_tax)),
-  "ave_qty": avg(for $i in $l return $i.l_quantity),  
-  "ave_price": avg(for $i in $l return $i.l_extendedprice),
-  "ave_disc": avg(for $i in $l return $i.l_discount),
-  "count_order": count($l)
-}   
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/20_potential_part_promotion/20_potential_part_promotion.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/20_potential_part_promotion/20_potential_part_promotion.1.ddl.aql
deleted file mode 100644
index 2143cfa..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/20_potential_part_promotion/20_potential_part_promotion.1.ddl.aql
+++ /dev/null
@@ -1,180 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-
-write output to nc1:"rttest/tpch_q20_potential_part_promotion.adm";
-
-for $t3 in (
-for $t2 in (
-	for $l in dataset('LineItem')
-		group by $l_partkey:=$l.l_partkey, $l_suppkey:=$l.l_suppkey with $l
-	return {
-	"l_partkey": $l_partkey, 
-	"l_suppkey": $l_suppkey, 
-	"sum_quantity": 0.5 * sum(for $i in $l return $i.l_quantity)
-})
-for $pst1 in (
-	for $ps in dataset('Partsupp')
-	for $t1 in 
-	(
-		for $p in dataset('Part')
-			distinct by $p.p_partkey
-		return {"p_partkey": $p.p_partkey}
-	)
-	where $ps.ps_partkey = $t1.p_partkey
-	return {"ps_suppkey": $ps.ps_suppkey, "ps_partkey": $ps.ps_partkey, "ps_availqty": $ps.ps_availqty}
-)
-where $pst1.ps_partkey = $t2.l_partkey and $pst1.ps_suppkey = $t2.l_suppkey
-		and $pst1.ps_availqty > $t2.sum_quantity
-distinct by $pst1.ps_suppkey
-return {"ps_suppkey": $pst1.ps_suppkey}
-)
-
-for $t4 in (
-	for $n in dataset('Nation')
-	for $s in dataset('Supplier')
-		where  $s.s_nationkey = $n.n_nationkey
-	return {"s_name": $s.s_name, "s_address": $s.s_address, "s_suppkey": $s.s_suppkey}
-)
-
-where $t3.ps_suppkey = $t4.s_suppkey
-order by $t4.s_name
-return {"s_name": $t4.s_name, "s_address": $t4.s_address}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/20_potential_part_promotion/20_potential_part_promotion.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/20_potential_part_promotion/20_potential_part_promotion.2.update.aql
deleted file mode 100644
index 2143cfa..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/20_potential_part_promotion/20_potential_part_promotion.2.update.aql
+++ /dev/null
@@ -1,180 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-
-write output to nc1:"rttest/tpch_q20_potential_part_promotion.adm";
-
-for $t3 in (
-for $t2 in (
-	for $l in dataset('LineItem')
-		group by $l_partkey:=$l.l_partkey, $l_suppkey:=$l.l_suppkey with $l
-	return {
-	"l_partkey": $l_partkey, 
-	"l_suppkey": $l_suppkey, 
-	"sum_quantity": 0.5 * sum(for $i in $l return $i.l_quantity)
-})
-for $pst1 in (
-	for $ps in dataset('Partsupp')
-	for $t1 in 
-	(
-		for $p in dataset('Part')
-			distinct by $p.p_partkey
-		return {"p_partkey": $p.p_partkey}
-	)
-	where $ps.ps_partkey = $t1.p_partkey
-	return {"ps_suppkey": $ps.ps_suppkey, "ps_partkey": $ps.ps_partkey, "ps_availqty": $ps.ps_availqty}
-)
-where $pst1.ps_partkey = $t2.l_partkey and $pst1.ps_suppkey = $t2.l_suppkey
-		and $pst1.ps_availqty > $t2.sum_quantity
-distinct by $pst1.ps_suppkey
-return {"ps_suppkey": $pst1.ps_suppkey}
-)
-
-for $t4 in (
-	for $n in dataset('Nation')
-	for $s in dataset('Supplier')
-		where  $s.s_nationkey = $n.n_nationkey
-	return {"s_name": $s.s_name, "s_address": $s.s_address, "s_suppkey": $s.s_suppkey}
-)
-
-where $t3.ps_suppkey = $t4.s_suppkey
-order by $t4.s_name
-return {"s_name": $t4.s_name, "s_address": $t4.s_address}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/20_potential_part_promotion/20_potential_part_promotion.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/20_potential_part_promotion/20_potential_part_promotion.3.query.aql
deleted file mode 100644
index 2143cfa..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/20_potential_part_promotion/20_potential_part_promotion.3.query.aql
+++ /dev/null
@@ -1,180 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-
-write output to nc1:"rttest/tpch_q20_potential_part_promotion.adm";
-
-for $t3 in (
-for $t2 in (
-	for $l in dataset('LineItem')
-		group by $l_partkey:=$l.l_partkey, $l_suppkey:=$l.l_suppkey with $l
-	return {
-	"l_partkey": $l_partkey, 
-	"l_suppkey": $l_suppkey, 
-	"sum_quantity": 0.5 * sum(for $i in $l return $i.l_quantity)
-})
-for $pst1 in (
-	for $ps in dataset('Partsupp')
-	for $t1 in 
-	(
-		for $p in dataset('Part')
-			distinct by $p.p_partkey
-		return {"p_partkey": $p.p_partkey}
-	)
-	where $ps.ps_partkey = $t1.p_partkey
-	return {"ps_suppkey": $ps.ps_suppkey, "ps_partkey": $ps.ps_partkey, "ps_availqty": $ps.ps_availqty}
-)
-where $pst1.ps_partkey = $t2.l_partkey and $pst1.ps_suppkey = $t2.l_suppkey
-		and $pst1.ps_availqty > $t2.sum_quantity
-distinct by $pst1.ps_suppkey
-return {"ps_suppkey": $pst1.ps_suppkey}
-)
-
-for $t4 in (
-	for $n in dataset('Nation')
-	for $s in dataset('Supplier')
-		where  $s.s_nationkey = $n.n_nationkey
-	return {"s_name": $s.s_name, "s_address": $s.s_address, "s_suppkey": $s.s_suppkey}
-)
-
-where $t3.ps_suppkey = $t4.s_suppkey
-order by $t4.s_name
-return {"s_name": $t4.s_name, "s_address": $t4.s_address}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/21_suppliers_who_kept_orders_waiting/21_suppliers_who_kept_orders_waiting.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/21_suppliers_who_kept_orders_waiting/21_suppliers_who_kept_orders_waiting.1.ddl.aql
deleted file mode 100644
index 32cf149..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/21_suppliers_who_kept_orders_waiting/21_suppliers_who_kept_orders_waiting.1.ddl.aql
+++ /dev/null
@@ -1,220 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-
-write output to nc1:"rttest/tpch_q21_suppliers_who_kept_orders_waiting.adm";
-
-
-declare function tmp1()
-{
-for $l2 in 
-(
-	for $l in dataset('LineItem')
-	group by $l_orderkey1 := $l.l_orderkey, $l_suppkey1 := $l.l_suppkey with $l
-	return {
-		"l_orderkey": $l_orderkey1,
-		"l_suppkey": $l_suppkey1
-		} 
-)
-group by $l_orderkey := $l2.l_orderkey with $l2
-return {
-	"l_orderkey": $l_orderkey, 
-	"count_suppkey": count(for $i in $l2 return $i.l_suppkey), 
-	"max_suppkey": max(for $i in $l2 return $i.l_suppkey)
-}
-}
-
-declare function tmp2()
-{
-for $l2 in 
-(
-	for $l in dataset('LineItem')
-	where $l.l_receiptdate > $l.l_commitdate
-	group by $l_orderkey1 := $l.l_orderkey, $l_suppkey1 := $l.l_suppkey with $l
-	return {
-		"l_orderkey": $l_orderkey1,
-		"l_suppkey": $l_suppkey1
-		} 
-)
-group by $l_orderkey := $l2.l_orderkey with $l2
-return {
-"l_orderkey": $l_orderkey, 
-"count_suppkey": count(for $i in $l2 return $i.l_suppkey), 
-"max_suppkey": max(for $i in $l2 return $i.l_suppkey)
-}
-}
-
-for $t4 in (
-for $t3 in (
-	for $l in dataset('LineItem')
-	for $ns in (
-		for $n in dataset('Nation')
-		for $s in dataset('Supplier')
-			where $s.s_nationkey = $n.n_nationkey
-		return {"s_name": $s.s_name, "s_suppkey": $s.s_suppkey}
-	)
-	where $ns.s_suppkey = $l.l_suppkey and $l.l_receiptdate > $l.l_commitdate
-
-	for $o in dataset('Orders')
-	where $o.o_orderkey = $l.l_orderkey
-
-	for $t1 in tmp1()
-	where $l.l_orderkey = $t1.l_orderkey
-	
-	return {"s_name": $ns.s_name, "l_orderkey": $t1.l_orderkey, "l_suppkey": $l.l_suppkey}
-)
-
-for $t2 in tmp2() 
-			where $t2.count_suppkey >= 0 and $t3.l_orderkey = $t2.l_orderkey
-			
-return {
-"s_name": $t3.s_name,
-"l_suppkey": $t3.l_suppkey,
-"l_orderkey": $t2.l_orderkey,
-"count_suppkey": $t2.count_suppkey, 
-"max_suppkey": $t2.max_suppkey
-} )
-group by $s_name := $t4.s_name with $t4
-let $numwait := count($t4)
-order by $numwait desc, $s_name
-return {
-"s_name": $s_name,
-"numwait": $numwait
-}
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/21_suppliers_who_kept_orders_waiting/21_suppliers_who_kept_orders_waiting.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/21_suppliers_who_kept_orders_waiting/21_suppliers_who_kept_orders_waiting.2.update.aql
deleted file mode 100644
index 32cf149..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/21_suppliers_who_kept_orders_waiting/21_suppliers_who_kept_orders_waiting.2.update.aql
+++ /dev/null
@@ -1,220 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-
-write output to nc1:"rttest/tpch_q21_suppliers_who_kept_orders_waiting.adm";
-
-
-declare function tmp1()
-{
-for $l2 in 
-(
-	for $l in dataset('LineItem')
-	group by $l_orderkey1 := $l.l_orderkey, $l_suppkey1 := $l.l_suppkey with $l
-	return {
-		"l_orderkey": $l_orderkey1,
-		"l_suppkey": $l_suppkey1
-		} 
-)
-group by $l_orderkey := $l2.l_orderkey with $l2
-return {
-	"l_orderkey": $l_orderkey, 
-	"count_suppkey": count(for $i in $l2 return $i.l_suppkey), 
-	"max_suppkey": max(for $i in $l2 return $i.l_suppkey)
-}
-}
-
-declare function tmp2()
-{
-for $l2 in 
-(
-	for $l in dataset('LineItem')
-	where $l.l_receiptdate > $l.l_commitdate
-	group by $l_orderkey1 := $l.l_orderkey, $l_suppkey1 := $l.l_suppkey with $l
-	return {
-		"l_orderkey": $l_orderkey1,
-		"l_suppkey": $l_suppkey1
-		} 
-)
-group by $l_orderkey := $l2.l_orderkey with $l2
-return {
-"l_orderkey": $l_orderkey, 
-"count_suppkey": count(for $i in $l2 return $i.l_suppkey), 
-"max_suppkey": max(for $i in $l2 return $i.l_suppkey)
-}
-}
-
-for $t4 in (
-for $t3 in (
-	for $l in dataset('LineItem')
-	for $ns in (
-		for $n in dataset('Nation')
-		for $s in dataset('Supplier')
-			where $s.s_nationkey = $n.n_nationkey
-		return {"s_name": $s.s_name, "s_suppkey": $s.s_suppkey}
-	)
-	where $ns.s_suppkey = $l.l_suppkey and $l.l_receiptdate > $l.l_commitdate
-
-	for $o in dataset('Orders')
-	where $o.o_orderkey = $l.l_orderkey
-
-	for $t1 in tmp1()
-	where $l.l_orderkey = $t1.l_orderkey
-	
-	return {"s_name": $ns.s_name, "l_orderkey": $t1.l_orderkey, "l_suppkey": $l.l_suppkey}
-)
-
-for $t2 in tmp2() 
-			where $t2.count_suppkey >= 0 and $t3.l_orderkey = $t2.l_orderkey
-			
-return {
-"s_name": $t3.s_name,
-"l_suppkey": $t3.l_suppkey,
-"l_orderkey": $t2.l_orderkey,
-"count_suppkey": $t2.count_suppkey, 
-"max_suppkey": $t2.max_suppkey
-} )
-group by $s_name := $t4.s_name with $t4
-let $numwait := count($t4)
-order by $numwait desc, $s_name
-return {
-"s_name": $s_name,
-"numwait": $numwait
-}
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/21_suppliers_who_kept_orders_waiting/21_suppliers_who_kept_orders_waiting.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/21_suppliers_who_kept_orders_waiting/21_suppliers_who_kept_orders_waiting.3.query.aql
deleted file mode 100644
index 32cf149..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/21_suppliers_who_kept_orders_waiting/21_suppliers_who_kept_orders_waiting.3.query.aql
+++ /dev/null
@@ -1,220 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-
-write output to nc1:"rttest/tpch_q21_suppliers_who_kept_orders_waiting.adm";
-
-
-declare function tmp1()
-{
-for $l2 in 
-(
-	for $l in dataset('LineItem')
-	group by $l_orderkey1 := $l.l_orderkey, $l_suppkey1 := $l.l_suppkey with $l
-	return {
-		"l_orderkey": $l_orderkey1,
-		"l_suppkey": $l_suppkey1
-		} 
-)
-group by $l_orderkey := $l2.l_orderkey with $l2
-return {
-	"l_orderkey": $l_orderkey, 
-	"count_suppkey": count(for $i in $l2 return $i.l_suppkey), 
-	"max_suppkey": max(for $i in $l2 return $i.l_suppkey)
-}
-}
-
-declare function tmp2()
-{
-for $l2 in 
-(
-	for $l in dataset('LineItem')
-	where $l.l_receiptdate > $l.l_commitdate
-	group by $l_orderkey1 := $l.l_orderkey, $l_suppkey1 := $l.l_suppkey with $l
-	return {
-		"l_orderkey": $l_orderkey1,
-		"l_suppkey": $l_suppkey1
-		} 
-)
-group by $l_orderkey := $l2.l_orderkey with $l2
-return {
-"l_orderkey": $l_orderkey, 
-"count_suppkey": count(for $i in $l2 return $i.l_suppkey), 
-"max_suppkey": max(for $i in $l2 return $i.l_suppkey)
-}
-}
-
-for $t4 in (
-for $t3 in (
-	for $l in dataset('LineItem')
-	for $ns in (
-		for $n in dataset('Nation')
-		for $s in dataset('Supplier')
-			where $s.s_nationkey = $n.n_nationkey
-		return {"s_name": $s.s_name, "s_suppkey": $s.s_suppkey}
-	)
-	where $ns.s_suppkey = $l.l_suppkey and $l.l_receiptdate > $l.l_commitdate
-
-	for $o in dataset('Orders')
-	where $o.o_orderkey = $l.l_orderkey
-
-	for $t1 in tmp1()
-	where $l.l_orderkey = $t1.l_orderkey
-	
-	return {"s_name": $ns.s_name, "l_orderkey": $t1.l_orderkey, "l_suppkey": $l.l_suppkey}
-)
-
-for $t2 in tmp2() 
-			where $t2.count_suppkey >= 0 and $t3.l_orderkey = $t2.l_orderkey
-			
-return {
-"s_name": $t3.s_name,
-"l_suppkey": $t3.l_suppkey,
-"l_orderkey": $t2.l_orderkey,
-"count_suppkey": $t2.count_suppkey, 
-"max_suppkey": $t2.max_suppkey
-} )
-group by $s_name := $t4.s_name with $t4
-let $numwait := count($t4)
-order by $numwait desc, $s_name
-return {
-"s_name": $s_name,
-"numwait": $numwait
-}
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/22_global_sales_opportunity/22_global_sales_opportunity.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/22_global_sales_opportunity/22_global_sales_opportunity.1.ddl.aql
deleted file mode 100644
index b2ac2d0..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/22_global_sales_opportunity/22_global_sales_opportunity.1.ddl.aql
+++ /dev/null
@@ -1,172 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-
-write output to nc1:"rttest/tpch_q22_global_sales_opportunity.adm";
-  
-  
-declare function q22_customer_tmp(){
-for $c in dataset('Customer')
-return {
-"c_acctbal": $c.c_acctbal,
-"c_custkey": $c.c_custkey,
-"cntrycode": substring($c.c_phone, 1, 2)
-}
-}
-
-
-let $avg := avg( for $c in dataset('Customer')
-					where $c.c_acctbal > 0.00
-				 return $c.c_acctbal
-				)
-for $ct in q22_customer_tmp()
-where $ct.c_acctbal > $avg
-
-group by $cntrycode := $ct.cntrycode with $ct
-order by $cntrycode
-
-return {
-"cntrycode": $cntrycode, 
-"numcust": count($ct), 
-"totacctbal": sum(for $i in $ct return $i.c_acctbal)
-}
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/22_global_sales_opportunity/22_global_sales_opportunity.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/22_global_sales_opportunity/22_global_sales_opportunity.2.update.aql
deleted file mode 100644
index b2ac2d0..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/22_global_sales_opportunity/22_global_sales_opportunity.2.update.aql
+++ /dev/null
@@ -1,172 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-
-write output to nc1:"rttest/tpch_q22_global_sales_opportunity.adm";
-  
-  
-declare function q22_customer_tmp(){
-for $c in dataset('Customer')
-return {
-"c_acctbal": $c.c_acctbal,
-"c_custkey": $c.c_custkey,
-"cntrycode": substring($c.c_phone, 1, 2)
-}
-}
-
-
-let $avg := avg( for $c in dataset('Customer')
-					where $c.c_acctbal > 0.00
-				 return $c.c_acctbal
-				)
-for $ct in q22_customer_tmp()
-where $ct.c_acctbal > $avg
-
-group by $cntrycode := $ct.cntrycode with $ct
-order by $cntrycode
-
-return {
-"cntrycode": $cntrycode, 
-"numcust": count($ct), 
-"totacctbal": sum(for $i in $ct return $i.c_acctbal)
-}
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/22_global_sales_opportunity/22_global_sales_opportunity.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/22_global_sales_opportunity/22_global_sales_opportunity.3.query.aql
deleted file mode 100644
index b2ac2d0..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/22_global_sales_opportunity/22_global_sales_opportunity.3.query.aql
+++ /dev/null
@@ -1,172 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-
-write output to nc1:"rttest/tpch_q22_global_sales_opportunity.adm";
-  
-  
-declare function q22_customer_tmp(){
-for $c in dataset('Customer')
-return {
-"c_acctbal": $c.c_acctbal,
-"c_custkey": $c.c_custkey,
-"cntrycode": substring($c.c_phone, 1, 2)
-}
-}
-
-
-let $avg := avg( for $c in dataset('Customer')
-					where $c.c_acctbal > 0.00
-				 return $c.c_acctbal
-				)
-for $ct in q22_customer_tmp()
-where $ct.c_acctbal > $avg
-
-group by $cntrycode := $ct.cntrycode with $ct
-order by $cntrycode
-
-return {
-"cntrycode": $cntrycode, 
-"numcust": count($ct), 
-"totacctbal": sum(for $i in $ct return $i.c_acctbal)
-}
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/2_minimum_cost_supplier/2_minimum_cost_supplier.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/2_minimum_cost_supplier/2_minimum_cost_supplier.1.ddl.aql
deleted file mode 100644
index c5e17d6..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/2_minimum_cost_supplier/2_minimum_cost_supplier.1.ddl.aql
+++ /dev/null
@@ -1,243 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q2_minimum_cost_supplier.adm";
-
-declare function tmp1(){
-for $p in dataset('Part')
-for $pssrn in 
-(
-	for $ps in dataset('Partsupp')
-	for $srn in 
-		(
-		for $s in dataset('Supplier')
-		 for $rn in
-			(
-			for $r in dataset('Region')
-			for $n in dataset('Nation')
-			where $n.n_regionkey = $r.r_regionkey and $r.r_name = 'EUROPE' 
-			return {"n_nationkey": $n.n_nationkey, "n_name": $n.n_name}
-			)
-		 where $s.s_nationkey = $rn.n_nationkey
-		 return {"s_suppkey": $s.s_suppkey, "n_name": $rn.n_name,
-		 		"s_name": $s.s_name,
-		 		"s_acctbal": $s.s_acctbal,
-		 		"s_address": $s.s_address, 
-				"s_phone": $s.s_phone, 
-				"s_comment": $s.s_comment}
-		)
-	where $srn.s_suppkey = $ps.ps_suppkey
-	return {"n_name": $srn.n_name, "p_partkey": $ps.ps_partkey, "ps_supplycost": $ps.ps_supplycost,
-			"s_name": $srn.s_name,
-			"s_acctbal": $srn.s_acctbal,
-		 	"s_address":  $srn.s_address, 
-			"s_phone":  $srn.s_phone, 
-			"s_comment":  $srn.s_comment}
-) 
-where $p.p_partkey = $pssrn.p_partkey and like($p.p_type, '%BRASS') 
-return 
-{"s_acctbal": $pssrn.s_acctbal, 
-"s_name": $pssrn.s_name, 
-"n_name": $pssrn.n_name, 
-"p_partkey": $p.p_partkey, 
-"ps_supplycost": $pssrn.ps_supplycost, 
-"p_mfgr": $p.p_mfgr, 
-"s_address":  $pssrn.s_address, 
-"s_phone":  $pssrn.s_phone, 
-"s_comment":  $pssrn.s_comment
-}
-}
-
-declare function tmp2(){
-for $p in dataset('Part')
-for $pssrn in 
-(
-	for $ps in dataset('Partsupp')
-	for $srn in 
-		(
-		for $s in dataset('Supplier')
-		 for $rn in
-			(
-			for $r in dataset('Region')
-			for $n in dataset('Nation')
-			where $n.n_regionkey = $r.r_regionkey and $r.r_name = 'EUROPE' 
-			return {"n_nationkey": $n.n_nationkey, "n_name": $n.n_name}
-			)
-		 where $s.s_nationkey = $rn.n_nationkey
-		 return {"s_suppkey": $s.s_suppkey, "n_name": $rn.n_name,
-		 		"s_name": $s.s_name,
-		 		"s_acctbal": $s.s_acctbal,
-		 		"s_address": $s.s_address, 
-				"s_phone": $s.s_phone, 
-				"s_comment": $s.s_comment}
-		)
-	where $srn.s_suppkey = $ps.ps_suppkey
-	return {"n_name": $srn.n_name, "p_partkey": $ps.ps_partkey, "ps_supplycost": $ps.ps_supplycost,
-			"s_name": $srn.s_name,
-			"s_acctbal": $srn.s_acctbal,
-		 	"s_address":  $srn.s_address, 
-			"s_phone":  $srn.s_phone, 
-			"s_comment":  $srn.s_comment}
-)
-where $p.p_partkey = $pssrn.p_partkey and like($p.p_type, '%BRASS') 
-/*+ hash*/
-group by $p_partkey := $pssrn.p_partkey
-with $pssrn
-return {"p_partkey": $p_partkey, 
-"ps_min_supplycost": min(for $i in $pssrn return $i.ps_supplycost)
-}
-}
-
-for $t2 in tmp2()
-for $t1 in tmp1()
-where $t1.p_partkey = $t2.p_partkey and $t1.ps_supplycost = $t2.ps_min_supplycost
-order by $t1.s_acctbal desc, $t1.n_name, $t1.s_name, $t1.p_partkey
-limit 100
-return 
-{
-"s_acctbal":$t1.s_acctbal, 
-"s_name":$t1.s_name, 
-"n_name":$t1.n_name, 
-"p_partkey":$t1.p_partkey, 
-"p_mfgr":$t1.p_mfgr, 
-"s_address":$t1.s_address, 
-"s_phone":$t1.s_phone, 
-"s_comment":$t1.s_comment
-} 
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/2_minimum_cost_supplier/2_minimum_cost_supplier.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/2_minimum_cost_supplier/2_minimum_cost_supplier.2.update.aql
deleted file mode 100644
index c5e17d6..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/2_minimum_cost_supplier/2_minimum_cost_supplier.2.update.aql
+++ /dev/null
@@ -1,243 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q2_minimum_cost_supplier.adm";
-
-declare function tmp1(){
-for $p in dataset('Part')
-for $pssrn in 
-(
-	for $ps in dataset('Partsupp')
-	for $srn in 
-		(
-		for $s in dataset('Supplier')
-		 for $rn in
-			(
-			for $r in dataset('Region')
-			for $n in dataset('Nation')
-			where $n.n_regionkey = $r.r_regionkey and $r.r_name = 'EUROPE' 
-			return {"n_nationkey": $n.n_nationkey, "n_name": $n.n_name}
-			)
-		 where $s.s_nationkey = $rn.n_nationkey
-		 return {"s_suppkey": $s.s_suppkey, "n_name": $rn.n_name,
-		 		"s_name": $s.s_name,
-		 		"s_acctbal": $s.s_acctbal,
-		 		"s_address": $s.s_address, 
-				"s_phone": $s.s_phone, 
-				"s_comment": $s.s_comment}
-		)
-	where $srn.s_suppkey = $ps.ps_suppkey
-	return {"n_name": $srn.n_name, "p_partkey": $ps.ps_partkey, "ps_supplycost": $ps.ps_supplycost,
-			"s_name": $srn.s_name,
-			"s_acctbal": $srn.s_acctbal,
-		 	"s_address":  $srn.s_address, 
-			"s_phone":  $srn.s_phone, 
-			"s_comment":  $srn.s_comment}
-) 
-where $p.p_partkey = $pssrn.p_partkey and like($p.p_type, '%BRASS') 
-return 
-{"s_acctbal": $pssrn.s_acctbal, 
-"s_name": $pssrn.s_name, 
-"n_name": $pssrn.n_name, 
-"p_partkey": $p.p_partkey, 
-"ps_supplycost": $pssrn.ps_supplycost, 
-"p_mfgr": $p.p_mfgr, 
-"s_address":  $pssrn.s_address, 
-"s_phone":  $pssrn.s_phone, 
-"s_comment":  $pssrn.s_comment
-}
-}
-
-declare function tmp2(){
-for $p in dataset('Part')
-for $pssrn in 
-(
-	for $ps in dataset('Partsupp')
-	for $srn in 
-		(
-		for $s in dataset('Supplier')
-		 for $rn in
-			(
-			for $r in dataset('Region')
-			for $n in dataset('Nation')
-			where $n.n_regionkey = $r.r_regionkey and $r.r_name = 'EUROPE' 
-			return {"n_nationkey": $n.n_nationkey, "n_name": $n.n_name}
-			)
-		 where $s.s_nationkey = $rn.n_nationkey
-		 return {"s_suppkey": $s.s_suppkey, "n_name": $rn.n_name,
-		 		"s_name": $s.s_name,
-		 		"s_acctbal": $s.s_acctbal,
-		 		"s_address": $s.s_address, 
-				"s_phone": $s.s_phone, 
-				"s_comment": $s.s_comment}
-		)
-	where $srn.s_suppkey = $ps.ps_suppkey
-	return {"n_name": $srn.n_name, "p_partkey": $ps.ps_partkey, "ps_supplycost": $ps.ps_supplycost,
-			"s_name": $srn.s_name,
-			"s_acctbal": $srn.s_acctbal,
-		 	"s_address":  $srn.s_address, 
-			"s_phone":  $srn.s_phone, 
-			"s_comment":  $srn.s_comment}
-)
-where $p.p_partkey = $pssrn.p_partkey and like($p.p_type, '%BRASS') 
-/*+ hash*/
-group by $p_partkey := $pssrn.p_partkey
-with $pssrn
-return {"p_partkey": $p_partkey, 
-"ps_min_supplycost": min(for $i in $pssrn return $i.ps_supplycost)
-}
-}
-
-for $t2 in tmp2()
-for $t1 in tmp1()
-where $t1.p_partkey = $t2.p_partkey and $t1.ps_supplycost = $t2.ps_min_supplycost
-order by $t1.s_acctbal desc, $t1.n_name, $t1.s_name, $t1.p_partkey
-limit 100
-return 
-{
-"s_acctbal":$t1.s_acctbal, 
-"s_name":$t1.s_name, 
-"n_name":$t1.n_name, 
-"p_partkey":$t1.p_partkey, 
-"p_mfgr":$t1.p_mfgr, 
-"s_address":$t1.s_address, 
-"s_phone":$t1.s_phone, 
-"s_comment":$t1.s_comment
-} 
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/2_minimum_cost_supplier/2_minimum_cost_supplier.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/2_minimum_cost_supplier/2_minimum_cost_supplier.3.query.aql
deleted file mode 100644
index c5e17d6..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/2_minimum_cost_supplier/2_minimum_cost_supplier.3.query.aql
+++ /dev/null
@@ -1,243 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q2_minimum_cost_supplier.adm";
-
-declare function tmp1(){
-for $p in dataset('Part')
-for $pssrn in 
-(
-	for $ps in dataset('Partsupp')
-	for $srn in 
-		(
-		for $s in dataset('Supplier')
-		 for $rn in
-			(
-			for $r in dataset('Region')
-			for $n in dataset('Nation')
-			where $n.n_regionkey = $r.r_regionkey and $r.r_name = 'EUROPE' 
-			return {"n_nationkey": $n.n_nationkey, "n_name": $n.n_name}
-			)
-		 where $s.s_nationkey = $rn.n_nationkey
-		 return {"s_suppkey": $s.s_suppkey, "n_name": $rn.n_name,
-		 		"s_name": $s.s_name,
-		 		"s_acctbal": $s.s_acctbal,
-		 		"s_address": $s.s_address, 
-				"s_phone": $s.s_phone, 
-				"s_comment": $s.s_comment}
-		)
-	where $srn.s_suppkey = $ps.ps_suppkey
-	return {"n_name": $srn.n_name, "p_partkey": $ps.ps_partkey, "ps_supplycost": $ps.ps_supplycost,
-			"s_name": $srn.s_name,
-			"s_acctbal": $srn.s_acctbal,
-		 	"s_address":  $srn.s_address, 
-			"s_phone":  $srn.s_phone, 
-			"s_comment":  $srn.s_comment}
-) 
-where $p.p_partkey = $pssrn.p_partkey and like($p.p_type, '%BRASS') 
-return 
-{"s_acctbal": $pssrn.s_acctbal, 
-"s_name": $pssrn.s_name, 
-"n_name": $pssrn.n_name, 
-"p_partkey": $p.p_partkey, 
-"ps_supplycost": $pssrn.ps_supplycost, 
-"p_mfgr": $p.p_mfgr, 
-"s_address":  $pssrn.s_address, 
-"s_phone":  $pssrn.s_phone, 
-"s_comment":  $pssrn.s_comment
-}
-}
-
-declare function tmp2(){
-for $p in dataset('Part')
-for $pssrn in 
-(
-	for $ps in dataset('Partsupp')
-	for $srn in 
-		(
-		for $s in dataset('Supplier')
-		 for $rn in
-			(
-			for $r in dataset('Region')
-			for $n in dataset('Nation')
-			where $n.n_regionkey = $r.r_regionkey and $r.r_name = 'EUROPE' 
-			return {"n_nationkey": $n.n_nationkey, "n_name": $n.n_name}
-			)
-		 where $s.s_nationkey = $rn.n_nationkey
-		 return {"s_suppkey": $s.s_suppkey, "n_name": $rn.n_name,
-		 		"s_name": $s.s_name,
-		 		"s_acctbal": $s.s_acctbal,
-		 		"s_address": $s.s_address, 
-				"s_phone": $s.s_phone, 
-				"s_comment": $s.s_comment}
-		)
-	where $srn.s_suppkey = $ps.ps_suppkey
-	return {"n_name": $srn.n_name, "p_partkey": $ps.ps_partkey, "ps_supplycost": $ps.ps_supplycost,
-			"s_name": $srn.s_name,
-			"s_acctbal": $srn.s_acctbal,
-		 	"s_address":  $srn.s_address, 
-			"s_phone":  $srn.s_phone, 
-			"s_comment":  $srn.s_comment}
-)
-where $p.p_partkey = $pssrn.p_partkey and like($p.p_type, '%BRASS') 
-/*+ hash*/
-group by $p_partkey := $pssrn.p_partkey
-with $pssrn
-return {"p_partkey": $p_partkey, 
-"ps_min_supplycost": min(for $i in $pssrn return $i.ps_supplycost)
-}
-}
-
-for $t2 in tmp2()
-for $t1 in tmp1()
-where $t1.p_partkey = $t2.p_partkey and $t1.ps_supplycost = $t2.ps_min_supplycost
-order by $t1.s_acctbal desc, $t1.n_name, $t1.s_name, $t1.p_partkey
-limit 100
-return 
-{
-"s_acctbal":$t1.s_acctbal, 
-"s_name":$t1.s_name, 
-"n_name":$t1.n_name, 
-"p_partkey":$t1.p_partkey, 
-"p_mfgr":$t1.p_mfgr, 
-"s_address":$t1.s_address, 
-"s_phone":$t1.s_phone, 
-"s_comment":$t1.s_comment
-} 
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/3_shipping_priority_nt/3_shipping_priority_nt.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/3_shipping_priority_nt/3_shipping_priority_nt.1.ddl.aql
deleted file mode 100644
index c3fcc25..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/3_shipping_priority_nt/3_shipping_priority_nt.1.ddl.aql
+++ /dev/null
@@ -1,146 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q3_shipping_priority_nt.adm";
-
-for $c in dataset('Customer')
-for $o in dataset('Orders')
-where
-  $c.c_mktsegment = 'BUILDING' and $c.c_custkey = $o.o_custkey 
-for $l in dataset('LineItem')
-where
-  $l.l_orderkey = $o.o_orderkey and
-  $o.o_orderdate < '1995-03-15' and $l.l_shipdate > '1995-03-15'
-/*+ hash*/
-group by $l_orderkey := $l.l_orderkey, $o_orderdate := $o.o_orderdate, $o_shippriority := $o.o_shippriority
-  with $l
-let $revenue := sum (
-  for $i in $l 
-  return 
-    $i.l_extendedprice * (1 - $i.l_discount)
-)
-order by $revenue desc, $o_orderdate
-limit 10
-return {  
-  "l_orderkey": $l_orderkey,
-  "revenue": $revenue,
-  "o_orderdate": $o_orderdate,
-  "o_shippriority": $o_shippriority 
-}
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/3_shipping_priority_nt/3_shipping_priority_nt.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/3_shipping_priority_nt/3_shipping_priority_nt.2.update.aql
deleted file mode 100644
index c3fcc25..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/3_shipping_priority_nt/3_shipping_priority_nt.2.update.aql
+++ /dev/null
@@ -1,146 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q3_shipping_priority_nt.adm";
-
-for $c in dataset('Customer')
-for $o in dataset('Orders')
-where
-  $c.c_mktsegment = 'BUILDING' and $c.c_custkey = $o.o_custkey 
-for $l in dataset('LineItem')
-where
-  $l.l_orderkey = $o.o_orderkey and
-  $o.o_orderdate < '1995-03-15' and $l.l_shipdate > '1995-03-15'
-/*+ hash*/
-group by $l_orderkey := $l.l_orderkey, $o_orderdate := $o.o_orderdate, $o_shippriority := $o.o_shippriority
-  with $l
-let $revenue := sum (
-  for $i in $l 
-  return 
-    $i.l_extendedprice * (1 - $i.l_discount)
-)
-order by $revenue desc, $o_orderdate
-limit 10
-return {  
-  "l_orderkey": $l_orderkey,
-  "revenue": $revenue,
-  "o_orderdate": $o_orderdate,
-  "o_shippriority": $o_shippriority 
-}
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/3_shipping_priority_nt/3_shipping_priority_nt.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/3_shipping_priority_nt/3_shipping_priority_nt.3.query.aql
deleted file mode 100644
index c3fcc25..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/3_shipping_priority_nt/3_shipping_priority_nt.3.query.aql
+++ /dev/null
@@ -1,146 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q3_shipping_priority_nt.adm";
-
-for $c in dataset('Customer')
-for $o in dataset('Orders')
-where
-  $c.c_mktsegment = 'BUILDING' and $c.c_custkey = $o.o_custkey 
-for $l in dataset('LineItem')
-where
-  $l.l_orderkey = $o.o_orderkey and
-  $o.o_orderdate < '1995-03-15' and $l.l_shipdate > '1995-03-15'
-/*+ hash*/
-group by $l_orderkey := $l.l_orderkey, $o_orderdate := $o.o_orderdate, $o_shippriority := $o.o_shippriority
-  with $l
-let $revenue := sum (
-  for $i in $l 
-  return 
-    $i.l_extendedprice * (1 - $i.l_discount)
-)
-order by $revenue desc, $o_orderdate
-limit 10
-return {  
-  "l_orderkey": $l_orderkey,
-  "revenue": $revenue,
-  "o_orderdate": $o_orderdate,
-  "o_shippriority": $o_shippriority 
-}
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/4_order_priority/4_order_priority.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/4_order_priority/4_order_priority.1.ddl.aql
deleted file mode 100644
index 6d755d2..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/4_order_priority/4_order_priority.1.ddl.aql
+++ /dev/null
@@ -1,164 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q4_order_priority.adm";
-
-declare function tmp()
-{
-for $l in dataset('LineItem')
-where $l.l_commitdate<$l.l_receiptdate
-distinct by $l.l_orderkey
-return {"o_orderkey": $l.l_orderkey}
-}
-
-for $o in dataset('Orders')
-for $t in tmp()
-where
-$o.o_orderkey = $t.o_orderkey and 
-$o.o_orderdate >= '1993-07-01' and $o.o_orderdate < '1993-10-01' 
-group by $o_orderpriority := $o.o_orderpriority 
-with $o
-order by $o_orderpriority
-return 
-{
-"order_priority": $o_orderpriority,
-"count": count($o)
-}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/4_order_priority/4_order_priority.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/4_order_priority/4_order_priority.2.update.aql
deleted file mode 100644
index 6d755d2..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/4_order_priority/4_order_priority.2.update.aql
+++ /dev/null
@@ -1,164 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q4_order_priority.adm";
-
-declare function tmp()
-{
-for $l in dataset('LineItem')
-where $l.l_commitdate<$l.l_receiptdate
-distinct by $l.l_orderkey
-return {"o_orderkey": $l.l_orderkey}
-}
-
-for $o in dataset('Orders')
-for $t in tmp()
-where
-$o.o_orderkey = $t.o_orderkey and 
-$o.o_orderdate >= '1993-07-01' and $o.o_orderdate < '1993-10-01' 
-group by $o_orderpriority := $o.o_orderpriority 
-with $o
-order by $o_orderpriority
-return 
-{
-"order_priority": $o_orderpriority,
-"count": count($o)
-}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/4_order_priority/4_order_priority.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/4_order_priority/4_order_priority.3.query.aql
deleted file mode 100644
index 6d755d2..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/4_order_priority/4_order_priority.3.query.aql
+++ /dev/null
@@ -1,164 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q4_order_priority.adm";
-
-declare function tmp()
-{
-for $l in dataset('LineItem')
-where $l.l_commitdate<$l.l_receiptdate
-distinct by $l.l_orderkey
-return {"o_orderkey": $l.l_orderkey}
-}
-
-for $o in dataset('Orders')
-for $t in tmp()
-where
-$o.o_orderkey = $t.o_orderkey and 
-$o.o_orderdate >= '1993-07-01' and $o.o_orderdate < '1993-10-01' 
-group by $o_orderpriority := $o.o_orderpriority 
-with $o
-order by $o_orderpriority
-return 
-{
-"order_priority": $o_orderpriority,
-"count": count($o)
-}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/5_local_supplier_volume/5_local_supplier_volume.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/5_local_supplier_volume/5_local_supplier_volume.1.ddl.aql
deleted file mode 100644
index e64d98a..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/5_local_supplier_volume/5_local_supplier_volume.1.ddl.aql
+++ /dev/null
@@ -1,178 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-
-write output to nc1:"rttest/tpch_q5_local_supplier_volume.adm";
-
-
-
-for $c in dataset('Customer')
-for $o1 in 
-(  for $o in dataset('Orders')
-   for $l1 in (
-     for $l in dataset('LineItem')
-     for $s1 in 
-     (  for $s in dataset('Supplier')
-        for $n1 in 
-        (  for $n in dataset('Nation')
-           for $r in dataset('Region')
-             where $n.n_regionkey = $r.r_regionkey
-           return 
-              {"n_name": $n.n_name, "n_nationkey": $n.n_nationkey}  )
-        where $s.s_nationkey = $n1.n_nationkey
-        return 
-           { "n_name": $n1.n_name, "s_suppkey": $s.s_suppkey, "s_nationkey": $s.s_nationkey }  )
-     where $l.l_suppkey = $s1.s_suppkey      
-     return 
-        { "n_name": $s1.n_name, "l_extendedprice": $l.l_extendedprice, "l_discount": $l.l_discount, "l_orderkey": $l.l_orderkey, "s_nationkey": $s1.s_nationkey }  )
-   where $l1.l_orderkey = $o.o_orderkey and $o.o_orderdate >= '1990-01-01' and $o.o_orderdate < '1995-01-01'
-   return 
-     { "n_name": $l1.n_name, "l_extendedprice": $l1.l_extendedprice, "l_discount": $l1.l_discount, "s_nationkey": $l1.s_nationkey, "o_custkey": $o.o_custkey }  )
-where $c.c_nationkey = $o1.s_nationkey and $c.c_custkey = $o1.o_custkey
-/*+ hash*/     
-group by $n_name := $o1.n_name with $o1
-let $revenue := sum (
-  for $i in $o1 
-  return 
-    $i.l_extendedprice * (1 - $i.l_discount)
-)
-order by $revenue desc
-return 
-  { "n_name": $n_name, "revenue": $revenue }
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/5_local_supplier_volume/5_local_supplier_volume.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/5_local_supplier_volume/5_local_supplier_volume.2.update.aql
deleted file mode 100644
index e64d98a..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/5_local_supplier_volume/5_local_supplier_volume.2.update.aql
+++ /dev/null
@@ -1,178 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-
-write output to nc1:"rttest/tpch_q5_local_supplier_volume.adm";
-
-
-
-for $c in dataset('Customer')
-for $o1 in 
-(  for $o in dataset('Orders')
-   for $l1 in (
-     for $l in dataset('LineItem')
-     for $s1 in 
-     (  for $s in dataset('Supplier')
-        for $n1 in 
-        (  for $n in dataset('Nation')
-           for $r in dataset('Region')
-             where $n.n_regionkey = $r.r_regionkey
-           return 
-              {"n_name": $n.n_name, "n_nationkey": $n.n_nationkey}  )
-        where $s.s_nationkey = $n1.n_nationkey
-        return 
-           { "n_name": $n1.n_name, "s_suppkey": $s.s_suppkey, "s_nationkey": $s.s_nationkey }  )
-     where $l.l_suppkey = $s1.s_suppkey      
-     return 
-        { "n_name": $s1.n_name, "l_extendedprice": $l.l_extendedprice, "l_discount": $l.l_discount, "l_orderkey": $l.l_orderkey, "s_nationkey": $s1.s_nationkey }  )
-   where $l1.l_orderkey = $o.o_orderkey and $o.o_orderdate >= '1990-01-01' and $o.o_orderdate < '1995-01-01'
-   return 
-     { "n_name": $l1.n_name, "l_extendedprice": $l1.l_extendedprice, "l_discount": $l1.l_discount, "s_nationkey": $l1.s_nationkey, "o_custkey": $o.o_custkey }  )
-where $c.c_nationkey = $o1.s_nationkey and $c.c_custkey = $o1.o_custkey
-/*+ hash*/     
-group by $n_name := $o1.n_name with $o1
-let $revenue := sum (
-  for $i in $o1 
-  return 
-    $i.l_extendedprice * (1 - $i.l_discount)
-)
-order by $revenue desc
-return 
-  { "n_name": $n_name, "revenue": $revenue }
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/5_local_supplier_volume/5_local_supplier_volume.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/5_local_supplier_volume/5_local_supplier_volume.3.query.aql
deleted file mode 100644
index e64d98a..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/5_local_supplier_volume/5_local_supplier_volume.3.query.aql
+++ /dev/null
@@ -1,178 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-
-write output to nc1:"rttest/tpch_q5_local_supplier_volume.adm";
-
-
-
-for $c in dataset('Customer')
-for $o1 in 
-(  for $o in dataset('Orders')
-   for $l1 in (
-     for $l in dataset('LineItem')
-     for $s1 in 
-     (  for $s in dataset('Supplier')
-        for $n1 in 
-        (  for $n in dataset('Nation')
-           for $r in dataset('Region')
-             where $n.n_regionkey = $r.r_regionkey
-           return 
-              {"n_name": $n.n_name, "n_nationkey": $n.n_nationkey}  )
-        where $s.s_nationkey = $n1.n_nationkey
-        return 
-           { "n_name": $n1.n_name, "s_suppkey": $s.s_suppkey, "s_nationkey": $s.s_nationkey }  )
-     where $l.l_suppkey = $s1.s_suppkey      
-     return 
-        { "n_name": $s1.n_name, "l_extendedprice": $l.l_extendedprice, "l_discount": $l.l_discount, "l_orderkey": $l.l_orderkey, "s_nationkey": $s1.s_nationkey }  )
-   where $l1.l_orderkey = $o.o_orderkey and $o.o_orderdate >= '1990-01-01' and $o.o_orderdate < '1995-01-01'
-   return 
-     { "n_name": $l1.n_name, "l_extendedprice": $l1.l_extendedprice, "l_discount": $l1.l_discount, "s_nationkey": $l1.s_nationkey, "o_custkey": $o.o_custkey }  )
-where $c.c_nationkey = $o1.s_nationkey and $c.c_custkey = $o1.o_custkey
-/*+ hash*/     
-group by $n_name := $o1.n_name with $o1
-let $revenue := sum (
-  for $i in $o1 
-  return 
-    $i.l_extendedprice * (1 - $i.l_discount)
-)
-order by $revenue desc
-return 
-  { "n_name": $n_name, "revenue": $revenue }
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/6_forecast_revenue_change/6_forecast_revenue_change.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/6_forecast_revenue_change/6_forecast_revenue_change.1.ddl.aql
deleted file mode 100644
index dee85bb..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/6_forecast_revenue_change/6_forecast_revenue_change.1.ddl.aql
+++ /dev/null
@@ -1,154 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q6_forecast_revenue_change.adm";
-
-let $revenue := sum(
-for $l in dataset('LineItem')
-where 
-  $l.l_shipdate >= '1994-01-01'
-  and $l.l_shipdate < '1995-01-01'
-  and $l.l_discount >= 0.05 and $l.l_discount <= 0.07
-  and $l.l_quantity < 24
-return $l.l_extendedprice * $l.l_discount
-)
-return {
-"revenue": $revenue
-}
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/6_forecast_revenue_change/6_forecast_revenue_change.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/6_forecast_revenue_change/6_forecast_revenue_change.2.update.aql
deleted file mode 100644
index dee85bb..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/6_forecast_revenue_change/6_forecast_revenue_change.2.update.aql
+++ /dev/null
@@ -1,154 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q6_forecast_revenue_change.adm";
-
-let $revenue := sum(
-for $l in dataset('LineItem')
-where 
-  $l.l_shipdate >= '1994-01-01'
-  and $l.l_shipdate < '1995-01-01'
-  and $l.l_discount >= 0.05 and $l.l_discount <= 0.07
-  and $l.l_quantity < 24
-return $l.l_extendedprice * $l.l_discount
-)
-return {
-"revenue": $revenue
-}
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/6_forecast_revenue_change/6_forecast_revenue_change.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/6_forecast_revenue_change/6_forecast_revenue_change.3.query.aql
deleted file mode 100644
index dee85bb..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/6_forecast_revenue_change/6_forecast_revenue_change.3.query.aql
+++ /dev/null
@@ -1,154 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q6_forecast_revenue_change.adm";
-
-let $revenue := sum(
-for $l in dataset('LineItem')
-where 
-  $l.l_shipdate >= '1994-01-01'
-  and $l.l_shipdate < '1995-01-01'
-  and $l.l_discount >= 0.05 and $l.l_discount <= 0.07
-  and $l.l_quantity < 24
-return $l.l_extendedprice * $l.l_discount
-)
-return {
-"revenue": $revenue
-}
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/7_volume_shipping/7_volume_shipping.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/7_volume_shipping/7_volume_shipping.1.ddl.aql
deleted file mode 100644
index 6432361..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/7_volume_shipping/7_volume_shipping.1.ddl.aql
+++ /dev/null
@@ -1,210 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q7_volume_shipping.adm";
-
-declare function q7_volume_shipping_tmp(){
-for $n1 in dataset('Nation') 
-for $n2 in dataset('Nation')
-   where $n2.n_name='GERMANY' or $n1.n_name='GERMANY' 
-return 
-{
- 	"supp_nation": $n1.n_name, 
- 	"cust_nation": $n2.n_name, 
- 	"s_nationkey": $n1.n_nationkey,      
-    "c_nationkey": $n2.n_nationkey
-}
-}
-
-for $locs in (
-	for $loc in (
-		for $lo in 
-		(
-			for $l in dataset('LineItem')
-			for $o in dataset('Orders')
-			where 
-				$o.o_orderkey = $l.l_orderkey and $l.l_shipdate >= '1992-01-01' 
-				and $l.l_shipdate <= '1996-12-31'
-			return
-			{
-			"l_shipdate": $l.l_shipdate, 
-			"l_extendedprice": $l.l_extendedprice, 
-			"l_discount": $l.l_discount, 
-			"l_suppkey": $l.l_suppkey, 
-			"o_custkey": $o.o_custkey 
-			}
-		)
-		for $c in dataset('Customer')
-		where
-			$c.c_custkey = $lo.o_custkey
-		return 
-		{
-		"l_shipdate": $lo.l_shipdate, 
-		"l_extendedprice": $lo.l_extendedprice, 
-		"l_discount": $lo.l_discount, 
-		"l_suppkey": $lo.l_suppkey, 
-		"c_nationkey": $c.c_nationkey 
-		}
-	)
-	for $s in dataset('Supplier')
-	where
-		$s.s_suppkey = $loc.l_suppkey
-	return {
-	"l_shipdate": $loc.l_shipdate, 
-	"l_extendedprice": $loc.l_extendedprice, 
-	"l_discount": $loc.l_discount, 
-	"c_nationkey": $loc.c_nationkey, 
-	"s_nationkey": $s.s_nationkey
-	}
-)
-for $t in q7_volume_shipping_tmp()
-where
-	$locs.c_nationkey = $t.c_nationkey and $locs.s_nationkey = $t.s_nationkey
-let $l_year0 := year($locs.l_shipdate)
-group by $supp_nation := $t.supp_nation, $cust_nation := $t.cust_nation, $l_year := $l_year0
-with $locs
-let $revenue := sum(for $i in $locs return $i.l_extendedprice * (1 - $i.l_discount))
-order by $supp_nation, $cust_nation, $l_year
-return {
-	"supp_nation": $supp_nation, 
-	"cust_nation": $cust_nation, 
-	"l_year": $l_year,
-	"revenue": $revenue
-}
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/7_volume_shipping/7_volume_shipping.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/7_volume_shipping/7_volume_shipping.2.update.aql
deleted file mode 100644
index 6432361..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/7_volume_shipping/7_volume_shipping.2.update.aql
+++ /dev/null
@@ -1,210 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q7_volume_shipping.adm";
-
-declare function q7_volume_shipping_tmp(){
-for $n1 in dataset('Nation') 
-for $n2 in dataset('Nation')
-   where $n2.n_name='GERMANY' or $n1.n_name='GERMANY' 
-return 
-{
- 	"supp_nation": $n1.n_name, 
- 	"cust_nation": $n2.n_name, 
- 	"s_nationkey": $n1.n_nationkey,      
-    "c_nationkey": $n2.n_nationkey
-}
-}
-
-for $locs in (
-	for $loc in (
-		for $lo in 
-		(
-			for $l in dataset('LineItem')
-			for $o in dataset('Orders')
-			where 
-				$o.o_orderkey = $l.l_orderkey and $l.l_shipdate >= '1992-01-01' 
-				and $l.l_shipdate <= '1996-12-31'
-			return
-			{
-			"l_shipdate": $l.l_shipdate, 
-			"l_extendedprice": $l.l_extendedprice, 
-			"l_discount": $l.l_discount, 
-			"l_suppkey": $l.l_suppkey, 
-			"o_custkey": $o.o_custkey 
-			}
-		)
-		for $c in dataset('Customer')
-		where
-			$c.c_custkey = $lo.o_custkey
-		return 
-		{
-		"l_shipdate": $lo.l_shipdate, 
-		"l_extendedprice": $lo.l_extendedprice, 
-		"l_discount": $lo.l_discount, 
-		"l_suppkey": $lo.l_suppkey, 
-		"c_nationkey": $c.c_nationkey 
-		}
-	)
-	for $s in dataset('Supplier')
-	where
-		$s.s_suppkey = $loc.l_suppkey
-	return {
-	"l_shipdate": $loc.l_shipdate, 
-	"l_extendedprice": $loc.l_extendedprice, 
-	"l_discount": $loc.l_discount, 
-	"c_nationkey": $loc.c_nationkey, 
-	"s_nationkey": $s.s_nationkey
-	}
-)
-for $t in q7_volume_shipping_tmp()
-where
-	$locs.c_nationkey = $t.c_nationkey and $locs.s_nationkey = $t.s_nationkey
-let $l_year0 := year($locs.l_shipdate)
-group by $supp_nation := $t.supp_nation, $cust_nation := $t.cust_nation, $l_year := $l_year0
-with $locs
-let $revenue := sum(for $i in $locs return $i.l_extendedprice * (1 - $i.l_discount))
-order by $supp_nation, $cust_nation, $l_year
-return {
-	"supp_nation": $supp_nation, 
-	"cust_nation": $cust_nation, 
-	"l_year": $l_year,
-	"revenue": $revenue
-}
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/7_volume_shipping/7_volume_shipping.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/7_volume_shipping/7_volume_shipping.3.query.aql
deleted file mode 100644
index 6432361..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/7_volume_shipping/7_volume_shipping.3.query.aql
+++ /dev/null
@@ -1,210 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q7_volume_shipping.adm";
-
-declare function q7_volume_shipping_tmp(){
-for $n1 in dataset('Nation') 
-for $n2 in dataset('Nation')
-   where $n2.n_name='GERMANY' or $n1.n_name='GERMANY' 
-return 
-{
- 	"supp_nation": $n1.n_name, 
- 	"cust_nation": $n2.n_name, 
- 	"s_nationkey": $n1.n_nationkey,      
-    "c_nationkey": $n2.n_nationkey
-}
-}
-
-for $locs in (
-	for $loc in (
-		for $lo in 
-		(
-			for $l in dataset('LineItem')
-			for $o in dataset('Orders')
-			where 
-				$o.o_orderkey = $l.l_orderkey and $l.l_shipdate >= '1992-01-01' 
-				and $l.l_shipdate <= '1996-12-31'
-			return
-			{
-			"l_shipdate": $l.l_shipdate, 
-			"l_extendedprice": $l.l_extendedprice, 
-			"l_discount": $l.l_discount, 
-			"l_suppkey": $l.l_suppkey, 
-			"o_custkey": $o.o_custkey 
-			}
-		)
-		for $c in dataset('Customer')
-		where
-			$c.c_custkey = $lo.o_custkey
-		return 
-		{
-		"l_shipdate": $lo.l_shipdate, 
-		"l_extendedprice": $lo.l_extendedprice, 
-		"l_discount": $lo.l_discount, 
-		"l_suppkey": $lo.l_suppkey, 
-		"c_nationkey": $c.c_nationkey 
-		}
-	)
-	for $s in dataset('Supplier')
-	where
-		$s.s_suppkey = $loc.l_suppkey
-	return {
-	"l_shipdate": $loc.l_shipdate, 
-	"l_extendedprice": $loc.l_extendedprice, 
-	"l_discount": $loc.l_discount, 
-	"c_nationkey": $loc.c_nationkey, 
-	"s_nationkey": $s.s_nationkey
-	}
-)
-for $t in q7_volume_shipping_tmp()
-where
-	$locs.c_nationkey = $t.c_nationkey and $locs.s_nationkey = $t.s_nationkey
-let $l_year0 := year($locs.l_shipdate)
-group by $supp_nation := $t.supp_nation, $cust_nation := $t.cust_nation, $l_year := $l_year0
-with $locs
-let $revenue := sum(for $i in $locs return $i.l_extendedprice * (1 - $i.l_discount))
-order by $supp_nation, $cust_nation, $l_year
-return {
-	"supp_nation": $supp_nation, 
-	"cust_nation": $cust_nation, 
-	"l_year": $l_year,
-	"revenue": $revenue
-}
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/8_national_market_share/8_national_market_share.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/8_national_market_share/8_national_market_share.1.ddl.aql
deleted file mode 100644
index 2e0eefb..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/8_national_market_share/8_national_market_share.1.ddl.aql
+++ /dev/null
@@ -1,213 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q8_national_market_share.adm";
-
-
-for $t in (
-for $slnrcop in 
-(for $s in dataset("Supplier")
-for $lnrcop in
-(
-for $lnrco in
-(
-for $l in dataset('LineItem')
-for $nrco in (
-	for $o in dataset('Orders')
-	for $nrc in (
-		for $c in dataset('Customer')
-		for $nr in (
-			for $n1 in dataset('Nation')
-			for $r1 in dataset('Region')
-				where $n1.n_regionkey = $r1.r_regionkey and $r1.r_name = 'AMERICA'
-			return {"n_nationkey": $n1.n_nationkey}
-		)
-		where $c.c_nationkey = $nr.n_nationkey
-		return {"c_custkey": $c.c_custkey}
-	)
-	where $nrc.c_custkey = $o.o_custkey
-	return {
-		"o_orderdate" : $o.o_orderdate, 
-		"o_orderkey": $o.o_orderkey 
-	}
-)
-where $l.l_orderkey = $nrco.o_orderkey and $nrco.o_orderdate >= '1995-01-01' 
-                         and $nrco.o_orderdate < '1996-12-31'
-return {
-  "o_orderdate": $nrco.o_orderdate, 
-  "l_partkey": $l.l_partkey, 
-  "l_discount": $l.l_discount, 
-  "l_extendedprice": $l.l_extendedprice, 
-  "l_suppkey": $l.l_suppkey
-})
-for $p in dataset("Part")
-where $p.p_partkey = $lnrco.l_partkey and $p.p_type = 'ECONOMY ANODIZED STEEL'
-return {
-	"o_orderdate": $lnrco.o_orderdate, 
-	"l_discount": $lnrco.l_discount, 
-	"l_extendedprice": $lnrco.l_extendedprice, 
-	"l_suppkey": $lnrco.l_suppkey 
-}
-)
-where $s.s_suppkey = $lnrcop.l_suppkey
-return {
-	"o_orderdate": $lnrcop.o_orderdate, 
-	"l_discount": $lnrcop.l_discount, 
-	"l_extendedprice": $lnrcop.l_extendedprice, 
-	"l_suppkey": $lnrcop.l_suppkey, 
-	"s_nationkey": $s.s_nationkey
-})
-
-for $n2 in dataset('Nation')
-where $slnrcop.s_nationkey = $n2.n_nationkey
-let $o_year := year($slnrcop.o_orderdate)
-return {
-  "year": $o_year,
-  "revenue": $slnrcop.l_extendedprice *(1-$slnrcop.l_discount),
-  "s_name": $n2.n_name
-})
-group by $year := $t.year with $t
-order by $year
-return {
-	"year": $year,
-	"mkt_share":sum(for $i in $t return switch-case($i.s_name='BRAZIL', true, $i.revenue, false, 0.0))/ 
-				sum(for $i in $t return $i.revenue)
-}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/8_national_market_share/8_national_market_share.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/8_national_market_share/8_national_market_share.2.update.aql
deleted file mode 100644
index 2e0eefb..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/8_national_market_share/8_national_market_share.2.update.aql
+++ /dev/null
@@ -1,213 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q8_national_market_share.adm";
-
-
-for $t in (
-for $slnrcop in 
-(for $s in dataset("Supplier")
-for $lnrcop in
-(
-for $lnrco in
-(
-for $l in dataset('LineItem')
-for $nrco in (
-	for $o in dataset('Orders')
-	for $nrc in (
-		for $c in dataset('Customer')
-		for $nr in (
-			for $n1 in dataset('Nation')
-			for $r1 in dataset('Region')
-				where $n1.n_regionkey = $r1.r_regionkey and $r1.r_name = 'AMERICA'
-			return {"n_nationkey": $n1.n_nationkey}
-		)
-		where $c.c_nationkey = $nr.n_nationkey
-		return {"c_custkey": $c.c_custkey}
-	)
-	where $nrc.c_custkey = $o.o_custkey
-	return {
-		"o_orderdate" : $o.o_orderdate, 
-		"o_orderkey": $o.o_orderkey 
-	}
-)
-where $l.l_orderkey = $nrco.o_orderkey and $nrco.o_orderdate >= '1995-01-01' 
-                         and $nrco.o_orderdate < '1996-12-31'
-return {
-  "o_orderdate": $nrco.o_orderdate, 
-  "l_partkey": $l.l_partkey, 
-  "l_discount": $l.l_discount, 
-  "l_extendedprice": $l.l_extendedprice, 
-  "l_suppkey": $l.l_suppkey
-})
-for $p in dataset("Part")
-where $p.p_partkey = $lnrco.l_partkey and $p.p_type = 'ECONOMY ANODIZED STEEL'
-return {
-	"o_orderdate": $lnrco.o_orderdate, 
-	"l_discount": $lnrco.l_discount, 
-	"l_extendedprice": $lnrco.l_extendedprice, 
-	"l_suppkey": $lnrco.l_suppkey 
-}
-)
-where $s.s_suppkey = $lnrcop.l_suppkey
-return {
-	"o_orderdate": $lnrcop.o_orderdate, 
-	"l_discount": $lnrcop.l_discount, 
-	"l_extendedprice": $lnrcop.l_extendedprice, 
-	"l_suppkey": $lnrcop.l_suppkey, 
-	"s_nationkey": $s.s_nationkey
-})
-
-for $n2 in dataset('Nation')
-where $slnrcop.s_nationkey = $n2.n_nationkey
-let $o_year := year($slnrcop.o_orderdate)
-return {
-  "year": $o_year,
-  "revenue": $slnrcop.l_extendedprice *(1-$slnrcop.l_discount),
-  "s_name": $n2.n_name
-})
-group by $year := $t.year with $t
-order by $year
-return {
-	"year": $year,
-	"mkt_share":sum(for $i in $t return switch-case($i.s_name='BRAZIL', true, $i.revenue, false, 0.0))/ 
-				sum(for $i in $t return $i.revenue)
-}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/8_national_market_share/8_national_market_share.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/8_national_market_share/8_national_market_share.3.query.aql
deleted file mode 100644
index 2e0eefb..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/8_national_market_share/8_national_market_share.3.query.aql
+++ /dev/null
@@ -1,213 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Partsupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_q8_national_market_share.adm";
-
-
-for $t in (
-for $slnrcop in 
-(for $s in dataset("Supplier")
-for $lnrcop in
-(
-for $lnrco in
-(
-for $l in dataset('LineItem')
-for $nrco in (
-	for $o in dataset('Orders')
-	for $nrc in (
-		for $c in dataset('Customer')
-		for $nr in (
-			for $n1 in dataset('Nation')
-			for $r1 in dataset('Region')
-				where $n1.n_regionkey = $r1.r_regionkey and $r1.r_name = 'AMERICA'
-			return {"n_nationkey": $n1.n_nationkey}
-		)
-		where $c.c_nationkey = $nr.n_nationkey
-		return {"c_custkey": $c.c_custkey}
-	)
-	where $nrc.c_custkey = $o.o_custkey
-	return {
-		"o_orderdate" : $o.o_orderdate, 
-		"o_orderkey": $o.o_orderkey 
-	}
-)
-where $l.l_orderkey = $nrco.o_orderkey and $nrco.o_orderdate >= '1995-01-01' 
-                         and $nrco.o_orderdate < '1996-12-31'
-return {
-  "o_orderdate": $nrco.o_orderdate, 
-  "l_partkey": $l.l_partkey, 
-  "l_discount": $l.l_discount, 
-  "l_extendedprice": $l.l_extendedprice, 
-  "l_suppkey": $l.l_suppkey
-})
-for $p in dataset("Part")
-where $p.p_partkey = $lnrco.l_partkey and $p.p_type = 'ECONOMY ANODIZED STEEL'
-return {
-	"o_orderdate": $lnrco.o_orderdate, 
-	"l_discount": $lnrco.l_discount, 
-	"l_extendedprice": $lnrco.l_extendedprice, 
-	"l_suppkey": $lnrco.l_suppkey 
-}
-)
-where $s.s_suppkey = $lnrcop.l_suppkey
-return {
-	"o_orderdate": $lnrcop.o_orderdate, 
-	"l_discount": $lnrcop.l_discount, 
-	"l_extendedprice": $lnrcop.l_extendedprice, 
-	"l_suppkey": $lnrcop.l_suppkey, 
-	"s_nationkey": $s.s_nationkey
-})
-
-for $n2 in dataset('Nation')
-where $slnrcop.s_nationkey = $n2.n_nationkey
-let $o_year := year($slnrcop.o_orderdate)
-return {
-  "year": $o_year,
-  "revenue": $slnrcop.l_extendedprice *(1-$slnrcop.l_discount),
-  "s_name": $n2.n_name
-})
-group by $year := $t.year with $t
-order by $year
-return {
-	"year": $year,
-	"mkt_share":sum(for $i in $t return switch-case($i.s_name='BRAZIL', true, $i.revenue, false, 0.0))/ 
-				sum(for $i in $t return $i.revenue)
-}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/9_product_type_profit_nt/9_product_type_profit_nt.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/9_product_type_profit_nt/9_product_type_profit_nt.1.ddl.aql
deleted file mode 100644
index 21cdcdd..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/9_product_type_profit_nt/9_product_type_profit_nt.1.ddl.aql
+++ /dev/null
@@ -1,183 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset PartSupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset PartSupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-  
-write output to nc1:"rttest/tpch_q9_product_type_profit_nt.adm";
-
-                
-for $profit in 
-(  for $o in dataset('Orders')
-   for $l3 in 
-   (  for $p in dataset('Part')
-      for $l2 in 
-      (  for $ps in dataset('PartSupp')
-         for $l1 in 
-        (  for $s1 in
-            (  for $s in dataset('Supplier')
-               for $n in dataset('Nation')
-               where $n.n_nationkey = $s.s_nationkey
-               return 
-                 { "s_suppkey": $s.s_suppkey, "n_name": $n.n_name}  )
-            for $l in dataset('LineItem')
-            where $s1.s_suppkey = $l.l_suppkey       
-            return 
-              { "l_suppkey": $l.l_suppkey, "l_extendedprice": $l.l_extendedprice, "l_discount": $l.l_discount,
-                "l_quantity": $l.l_quantity, "l_partkey": $l.l_partkey, "l_orderkey": $l.l_orderkey, "n_name": $s1.n_name } )
-         where $ps.ps_suppkey = $l1.l_suppkey and $ps.ps_partkey = $l1.l_partkey       
-         return 
-           { "l_extendedprice": $l1.l_extendedprice, "l_discount": $l1.l_discount, "l_quantity": $l1.l_quantity, 
-             "l_partkey": $l1.l_partkey, "l_orderkey": $l1.l_orderkey, "n_name": $l1.n_name, "ps_supplycost": $ps.ps_supplycost }  )
-      where contains($p.p_name, 'green') and $p.p_partkey = $l2.l_partkey    
-      return 
-        { "l_extendedprice": $l2.l_extendedprice, "l_discount": $l2.l_discount, "l_quantity": $l2.l_quantity, 
-          "l_orderkey": $l2.l_orderkey, "n_name": $l2.n_name, "ps_supplycost": $l2.ps_supplycost  }  )
-   where $o.o_orderkey = $l3.l_orderkey
-   let $amount := $l3.l_extendedprice * (1 - $l3.l_discount) -  $l3.ps_supplycost * $l3.l_quantity 
-   let $o_year := year($o.o_orderdate)
-   return 
-     { "nation": $l3.n_name, "o_year": $o_year, "amount": $amount }  )
- group by $nation := $profit.nation, $o_year := $profit.o_year with $profit
- order by $nation, $o_year desc
- return 
-   { "nation": $nation, 
-     "o_year": $o_year, 
-      "sum_profit": sum( for $pr in $profit return $pr.amount )  }    
-   
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/9_product_type_profit_nt/9_product_type_profit_nt.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/9_product_type_profit_nt/9_product_type_profit_nt.2.update.aql
deleted file mode 100644
index 21cdcdd..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/9_product_type_profit_nt/9_product_type_profit_nt.2.update.aql
+++ /dev/null
@@ -1,183 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset PartSupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset PartSupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-  
-write output to nc1:"rttest/tpch_q9_product_type_profit_nt.adm";
-
-                
-for $profit in 
-(  for $o in dataset('Orders')
-   for $l3 in 
-   (  for $p in dataset('Part')
-      for $l2 in 
-      (  for $ps in dataset('PartSupp')
-         for $l1 in 
-        (  for $s1 in
-            (  for $s in dataset('Supplier')
-               for $n in dataset('Nation')
-               where $n.n_nationkey = $s.s_nationkey
-               return 
-                 { "s_suppkey": $s.s_suppkey, "n_name": $n.n_name}  )
-            for $l in dataset('LineItem')
-            where $s1.s_suppkey = $l.l_suppkey       
-            return 
-              { "l_suppkey": $l.l_suppkey, "l_extendedprice": $l.l_extendedprice, "l_discount": $l.l_discount,
-                "l_quantity": $l.l_quantity, "l_partkey": $l.l_partkey, "l_orderkey": $l.l_orderkey, "n_name": $s1.n_name } )
-         where $ps.ps_suppkey = $l1.l_suppkey and $ps.ps_partkey = $l1.l_partkey       
-         return 
-           { "l_extendedprice": $l1.l_extendedprice, "l_discount": $l1.l_discount, "l_quantity": $l1.l_quantity, 
-             "l_partkey": $l1.l_partkey, "l_orderkey": $l1.l_orderkey, "n_name": $l1.n_name, "ps_supplycost": $ps.ps_supplycost }  )
-      where contains($p.p_name, 'green') and $p.p_partkey = $l2.l_partkey    
-      return 
-        { "l_extendedprice": $l2.l_extendedprice, "l_discount": $l2.l_discount, "l_quantity": $l2.l_quantity, 
-          "l_orderkey": $l2.l_orderkey, "n_name": $l2.n_name, "ps_supplycost": $l2.ps_supplycost  }  )
-   where $o.o_orderkey = $l3.l_orderkey
-   let $amount := $l3.l_extendedprice * (1 - $l3.l_discount) -  $l3.ps_supplycost * $l3.l_quantity 
-   let $o_year := year($o.o_orderdate)
-   return 
-     { "nation": $l3.n_name, "o_year": $o_year, "amount": $amount }  )
- group by $nation := $profit.nation, $o_year := $profit.o_year with $profit
- order by $nation, $o_year desc
- return 
-   { "nation": $nation, 
-     "o_year": $o_year, 
-      "sum_profit": sum( for $pr in $profit return $pr.amount )  }    
-   
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/9_product_type_profit_nt/9_product_type_profit_nt.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/9_product_type_profit_nt/9_product_type_profit_nt.3.query.aql
deleted file mode 100644
index 21cdcdd..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/9_product_type_profit_nt/9_product_type_profit_nt.3.query.aql
+++ /dev/null
@@ -1,183 +0,0 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
-use dataverse tpch;
-
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
-  o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
-  o_comment: string
-}
-
-create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
-  c_mktsegment: string,
-  c_comment: string
-}
-
-create type SupplierType as closed {
-  s_suppkey: int32, 
-  s_name: string,
-  s_address: string,
-  s_nationkey: int32,
-  s_phone: string,
-  s_acctbal: double,
-  s_comment: string
-}
-
-create type NationType as closed {
-  n_nationkey: int32,
-  n_name: string,
-  n_regionkey: int32,
-  n_comment: string
-}
-
-create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
-
-create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
-  p_mfgr: string,
-  p_brand: string,
-  p_type: string,
-  p_size: int32,
-  p_container: string,
-  p_retailprice: double,
-  p_comment: string
-}
-
-create type PartSuppType as closed {
-  ps_partkey: int32, 
-  ps_suppkey: int32,
-  ps_availqty: int32,
-  ps_supplycost: double,
-  ps_comment: string 
-}
-
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-create dataset Orders(OrderType)
-  primary key o_orderkey;
-create dataset Supplier(SupplierType)
-  primary key s_suppkey;
-create dataset Region(RegionType) 
-  primary key r_regionkey;
-create dataset Nation(NationType) 
-  primary key n_nationkey;
-create dataset Part(PartType)
-  primary key p_partkey;
-create dataset PartSupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
-  primary key c_custkey;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Orders 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Supplier 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Region 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Nation 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Part 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset PartSupp 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-load dataset Customer 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-  
-write output to nc1:"rttest/tpch_q9_product_type_profit_nt.adm";
-
-                
-for $profit in 
-(  for $o in dataset('Orders')
-   for $l3 in 
-   (  for $p in dataset('Part')
-      for $l2 in 
-      (  for $ps in dataset('PartSupp')
-         for $l1 in 
-        (  for $s1 in
-            (  for $s in dataset('Supplier')
-               for $n in dataset('Nation')
-               where $n.n_nationkey = $s.s_nationkey
-               return 
-                 { "s_suppkey": $s.s_suppkey, "n_name": $n.n_name}  )
-            for $l in dataset('LineItem')
-            where $s1.s_suppkey = $l.l_suppkey       
-            return 
-              { "l_suppkey": $l.l_suppkey, "l_extendedprice": $l.l_extendedprice, "l_discount": $l.l_discount,
-                "l_quantity": $l.l_quantity, "l_partkey": $l.l_partkey, "l_orderkey": $l.l_orderkey, "n_name": $s1.n_name } )
-         where $ps.ps_suppkey = $l1.l_suppkey and $ps.ps_partkey = $l1.l_partkey       
-         return 
-           { "l_extendedprice": $l1.l_extendedprice, "l_discount": $l1.l_discount, "l_quantity": $l1.l_quantity, 
-             "l_partkey": $l1.l_partkey, "l_orderkey": $l1.l_orderkey, "n_name": $l1.n_name, "ps_supplycost": $ps.ps_supplycost }  )
-      where contains($p.p_name, 'green') and $p.p_partkey = $l2.l_partkey    
-      return 
-        { "l_extendedprice": $l2.l_extendedprice, "l_discount": $l2.l_discount, "l_quantity": $l2.l_quantity, 
-          "l_orderkey": $l2.l_orderkey, "n_name": $l2.n_name, "ps_supplycost": $l2.ps_supplycost  }  )
-   where $o.o_orderkey = $l3.l_orderkey
-   let $amount := $l3.l_extendedprice * (1 - $l3.l_discount) -  $l3.ps_supplycost * $l3.l_quantity 
-   let $o_year := year($o.o_orderdate)
-   return 
-     { "nation": $l3.n_name, "o_year": $o_year, "amount": $amount }  )
- group by $nation := $profit.nation, $o_year := $profit.o_year with $profit
- order by $nation, $o_year desc
- return 
-   { "nation": $nation, 
-     "o_year": $o_year, 
-      "sum_profit": sum( for $pr in $profit return $pr.amount )  }    
-   
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/distinct_by/distinct_by.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/distinct_by/distinct_by.1.ddl.aql
index 3e41042..2d4c583 100644
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/distinct_by/distinct_by.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/distinct_by/distinct_by.1.ddl.aql
@@ -1,8 +1,5 @@
 drop dataverse tpch if exists;
 create dataverse tpch;
-  
-
-use dataverse tpch;
 
 create type LineItemType as closed {
   l_orderkey: int32, 
@@ -23,20 +20,3 @@
   l_comment: string
 }
 
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_distinct_by.adm";
- 
-for $l in dataset('LineItem')
-distinct by $l.l_returnflag, $l.l_linestatus, $l.l_shipmode
-order by $l.l_returnflag, $l.l_linestatus, $l.l_shipmode
-return {
-"l_returnflag": $l.l_returnflag,
-"l_linestatus": $l.l_linestatus,
-"l_shipmode": $l.l_shipmode
-}
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/distinct_by/distinct_by.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/distinct_by/distinct_by.2.update.aql
index 3e41042..cf309aa 100644
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/distinct_by/distinct_by.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/distinct_by/distinct_by.2.update.aql
@@ -1,28 +1,5 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
 use dataverse tpch;
 
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: double, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
 create dataset LineItem(LineItemType)
   primary key l_orderkey, l_linenumber;
 
@@ -30,13 +7,3 @@
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
 
-write output to nc1:"rttest/tpch_distinct_by.adm";
- 
-for $l in dataset('LineItem')
-distinct by $l.l_returnflag, $l.l_linestatus, $l.l_shipmode
-order by $l.l_returnflag, $l.l_linestatus, $l.l_shipmode
-return {
-"l_returnflag": $l.l_returnflag,
-"l_linestatus": $l.l_linestatus,
-"l_shipmode": $l.l_shipmode
-}
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/distinct_by/distinct_by.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/distinct_by/distinct_by.3.query.aql
index 3e41042..2543d7b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/distinct_by/distinct_by.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/distinct_by/distinct_by.3.query.aql
@@ -1,37 +1,5 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-  
-
 use dataverse tpch;
 
-create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: double, 
-  l_extendedprice: double,
-  l_discount: double, 
-  l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
-  l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
-  l_comment: string
-}
-
-create dataset LineItem(LineItemType)
-  primary key l_orderkey, l_linenumber;
-
-load dataset LineItem 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-write output to nc1:"rttest/tpch_distinct_by.adm";
- 
 for $l in dataset('LineItem')
 distinct by $l.l_returnflag, $l.l_linestatus, $l.l_shipmode
 order by $l.l_returnflag, $l.l_linestatus, $l.l_shipmode
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/group_no_agg/group_no_agg.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/group_no_agg/group_no_agg.1.ddl.aql
index 8b941e4..d1d8fad 100644
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/group_no_agg/group_no_agg.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/group_no_agg/group_no_agg.1.ddl.aql
@@ -1,24 +1,9 @@
 drop dataverse tpch if exists;
 create dataverse tpch;
 
-use dataverse tpch;
-
 create type RegionType as closed {
   r_regionkey: int32,
   r_name: string,
   r_comment: string
 }
 
-create dataset Regions_group_no_agg(RegionType) 
-  primary key r_regionkey;
-
-write output to nc1:"rttest/tpch_group_no_agg.adm";
-
-load dataset Regions_group_no_agg 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-for $r in dataset('Regions_group_no_agg')
-group by $name := $r.r_name  with $r
-order by $name
-return $name
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/group_no_agg/group_no_agg.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/group_no_agg/group_no_agg.2.update.aql
index 8b941e4..6d39c81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/group_no_agg/group_no_agg.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/group_no_agg/group_no_agg.2.update.aql
@@ -1,24 +1,8 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-
 use dataverse tpch;
 
-create type RegionType as closed {
-  r_regionkey: int32,
-  r_name: string,
-  r_comment: string
-}
-
 create dataset Regions_group_no_agg(RegionType) 
   primary key r_regionkey;
 
-write output to nc1:"rttest/tpch_group_no_agg.adm";
-
 load dataset Regions_group_no_agg 
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
-for $r in dataset('Regions_group_no_agg')
-group by $name := $r.r_name  with $r
-order by $name
-return $name
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/group_no_agg/group_no_agg.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/group_no_agg/group_no_agg.3.query.aql
index 8b941e4..284d168 100644
--- a/asterix-app/src/test/resources/runtimets/queries/tpch/group_no_agg/group_no_agg.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/group_no_agg/group_no_agg.3.query.aql
@@ -1,23 +1,5 @@
-drop dataverse tpch if exists;
-create dataverse tpch;
-
 use dataverse tpch;
 
-create type RegionType as closed {
-  r_regionkey: int32,
-  r_name: string,
-  r_comment: string
-}
-
-create dataset Regions_group_no_agg(RegionType) 
-  primary key r_regionkey;
-
-write output to nc1:"rttest/tpch_group_no_agg.adm";
-
-load dataset Regions_group_no_agg 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
-
 for $r in dataset('Regions_group_no_agg')
 group by $name := $r.r_name  with $r
 order by $name
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q10_returned_item/q10_returned_item.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q10_returned_item/q10_returned_item.1.ddl.aql
new file mode 100644
index 0000000..5231e76
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q10_returned_item/q10_returned_item.1.ddl.aql
@@ -0,0 +1,88 @@
+drop dataverse tpch if exists;
+create dataverse tpch;
+
+create type LineItemType as closed {
+  l_orderkey: int32, 
+  l_partkey: int32, 
+  l_suppkey: int32, 
+  l_linenumber: int32, 
+  l_quantity: int32, 
+  l_extendedprice: double,
+  l_discount: double, 
+  l_tax: double,
+  l_returnflag: string, 
+  l_linestatus: string, 
+  l_shipdate: string,
+  l_commitdate: string, 
+  l_receiptdate: string, 
+  l_shipinstruct: string, 
+  l_shipmode: string, 
+  l_comment: string
+}
+
+create type OrderType as closed {
+  o_orderkey: int32, 
+  o_custkey: int32, 
+  o_orderstatus: string, 
+  o_totalprice: double, 
+  o_orderdate: string, 
+  o_orderpriority: string,
+  o_clerk: string, 
+  o_shippriority: int32, 
+  o_comment: string
+}
+
+create type CustomerType as closed {
+  c_custkey: int32, 
+  c_name: string, 
+  c_address: string, 
+  c_nationkey: int32, 
+  c_phone: string, 
+  c_acctbal: double, 
+  c_mktsegment: string,
+  c_comment: string
+}
+
+create type SupplierType as closed {
+  s_suppkey: int32, 
+  s_name: string,
+  s_address: string,
+  s_nationkey: int32,
+  s_phone: string,
+  s_acctbal: double,
+  s_comment: string
+}
+
+create type NationType as closed {
+  n_nationkey: int32,
+  n_name: string,
+  n_regionkey: int32,
+  n_comment: string
+}
+
+create type RegionType as closed {
+	r_regionkey: int32, 
+	r_name: string, 
+	r_comment: string
+} 
+
+create type PartType as closed {
+  p_partkey: int32, 
+  p_name: string, 
+  p_mfgr: string,
+  p_brand: string,
+  p_type: string,
+  p_size: int32,
+  p_container: string,
+  p_retailprice: double,
+  p_comment: string
+}
+
+create type PartSuppType as closed {
+  ps_partkey: int32, 
+  ps_suppkey: int32,
+  ps_availqty: int32,
+  ps_supplycost: double,
+  ps_comment: string 
+}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q10_returned_item/q10_returned_item.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q10_returned_item/q10_returned_item.2.update.aql
new file mode 100644
index 0000000..2d70882
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q10_returned_item/q10_returned_item.2.update.aql
@@ -0,0 +1,51 @@
+use dataverse tpch;
+
+create dataset LineItem(LineItemType)
+  primary key l_orderkey, l_linenumber;
+create dataset Orders(OrderType)
+  primary key o_orderkey;
+create dataset Supplier(SupplierType)
+  primary key s_suppkey;
+create dataset Region(RegionType) 
+  primary key r_regionkey;
+create dataset Nation(NationType) 
+  primary key n_nationkey;
+create dataset Part(PartType)
+  primary key p_partkey;
+create dataset Partsupp(PartSuppType)
+  primary key ps_partkey, ps_suppkey;  
+create dataset Customer(CustomerType) 
+  primary key c_custkey;
+
+load dataset LineItem 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Orders 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Supplier 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Region 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Nation 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Part 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Partsupp 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Customer 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q10_returned_item/q10_returned_item.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q10_returned_item/q10_returned_item.3.query.aql
new file mode 100644
index 0000000..c867b31
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q10_returned_item/q10_returned_item.3.query.aql
@@ -0,0 +1,55 @@
+use dataverse tpch;
+
+for $locn in (
+for $l in dataset('LineItem')
+for $ocn in (
+	for $o in dataset('Orders')
+	for $c in dataset('Customer')
+		where $c.c_custkey = $o.o_custkey and $o.o_orderdate >= '1993-10-01' and $o.o_orderdate < '1994-01-01'
+	for $n in dataset('Nation')
+		where $c.c_nationkey = $n.n_nationkey
+	return {
+		"c_custkey": $c.c_custkey, 
+		"c_name": $c.c_name,
+  		"c_acctbal": $c.c_acctbal, 
+  		"n_name": $n.n_name, 
+  		"c_address": $c.c_address, 
+  		"c_phone": $c.c_phone, 
+  		"c_comment": $c.c_comment,
+  		"o_orderkey": $o.o_orderkey
+	}
+)
+where
+   $l.l_orderkey = $ocn.o_orderkey and $l.l_returnflag = 'R'
+   return {
+		"c_custkey": $ocn.c_custkey, 
+		"c_name": $ocn.c_name,
+  		"c_acctbal": $ocn.c_acctbal, 
+  		"n_name": $ocn.n_name, 
+  		"c_address": $ocn.c_address, 
+  		"c_phone": $ocn.c_phone, 
+  		"c_comment": $ocn.c_comment,
+  		"l_extendedprice": $l.l_extendedprice,
+  		"l_discount": $l.l_discount
+	}	
+)
+group by $c_custkey:=$locn.c_custkey, 
+		$c_name:=$locn.c_name, 
+		$c_acctbal:=$locn.c_acctbal, $c_phone:=$locn.c_phone, 
+		$n_name:=$locn.n_name, $c_address:=$locn.c_address, $c_comment:=$locn.c_comment
+		with $locn
+let $revenue := sum(for $i in $locn return $i.l_extendedprice * (1 - $i.l_discount))
+order by $revenue desc
+limit 20
+return {
+		"c_custkey": $c_custkey, 
+		"c_name": $c_name,
+		"revenue": $revenue,
+  		"c_acctbal": $c_acctbal, 
+  		"n_name": $n_name, 
+  		"c_address": $c_address, 
+  		"c_phone": $c_phone, 
+  		"c_comment": $c_comment
+}
+		
+		
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q10_returned_item_int64/q10_returned_item_int64.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q10_returned_item_int64/q10_returned_item_int64.1.ddl.aql
new file mode 100644
index 0000000..0189020
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q10_returned_item_int64/q10_returned_item_int64.1.ddl.aql
@@ -0,0 +1,88 @@
+drop dataverse tpch if exists;
+create dataverse tpch;
+
+create type LineItemType as closed {
+  l_orderkey: int64, 
+  l_partkey: int64, 
+  l_suppkey: int64, 
+  l_linenumber: int64, 
+  l_quantity: int64, 
+  l_extendedprice: double,
+  l_discount: double, 
+  l_tax: double,
+  l_returnflag: string, 
+  l_linestatus: string, 
+  l_shipdate: string,
+  l_commitdate: string, 
+  l_receiptdate: string, 
+  l_shipinstruct: string, 
+  l_shipmode: string, 
+  l_comment: string
+}
+
+create type OrderType as closed {
+  o_orderkey: int64, 
+  o_custkey: int64, 
+  o_orderstatus: string, 
+  o_totalprice: double, 
+  o_orderdate: string, 
+  o_orderpriority: string,
+  o_clerk: string, 
+  o_shippriority: int64, 
+  o_comment: string
+}
+
+create type CustomerType as closed {
+  c_custkey: int64, 
+  c_name: string, 
+  c_address: string, 
+  c_nationkey: int64, 
+  c_phone: string, 
+  c_acctbal: double, 
+  c_mktsegment: string,
+  c_comment: string
+}
+
+create type SupplierType as closed {
+  s_suppkey: int64, 
+  s_name: string,
+  s_address: string,
+  s_nationkey: int64,
+  s_phone: string,
+  s_acctbal: double,
+  s_comment: string
+}
+
+create type NationType as closed {
+  n_nationkey: int64,
+  n_name: string,
+  n_regionkey: int64,
+  n_comment: string
+}
+
+create type RegionType as closed {
+	r_regionkey: int64, 
+	r_name: string, 
+	r_comment: string
+} 
+
+create type PartType as closed {
+  p_partkey: int64, 
+  p_name: string, 
+  p_mfgr: string,
+  p_brand: string,
+  p_type: string,
+  p_size: int64,
+  p_container: string,
+  p_retailprice: double,
+  p_comment: string
+}
+
+create type PartSuppType as closed {
+  ps_partkey: int64, 
+  ps_suppkey: int64,
+  ps_availqty: int64,
+  ps_supplycost: double,
+  ps_comment: string 
+}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q10_returned_item_int64/q10_returned_item_int64.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q10_returned_item_int64/q10_returned_item_int64.2.update.aql
new file mode 100644
index 0000000..2d70882
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q10_returned_item_int64/q10_returned_item_int64.2.update.aql
@@ -0,0 +1,51 @@
+use dataverse tpch;
+
+create dataset LineItem(LineItemType)
+  primary key l_orderkey, l_linenumber;
+create dataset Orders(OrderType)
+  primary key o_orderkey;
+create dataset Supplier(SupplierType)
+  primary key s_suppkey;
+create dataset Region(RegionType) 
+  primary key r_regionkey;
+create dataset Nation(NationType) 
+  primary key n_nationkey;
+create dataset Part(PartType)
+  primary key p_partkey;
+create dataset Partsupp(PartSuppType)
+  primary key ps_partkey, ps_suppkey;  
+create dataset Customer(CustomerType) 
+  primary key c_custkey;
+
+load dataset LineItem 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Orders 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Supplier 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Region 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Nation 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Part 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Partsupp 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Customer 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q10_returned_item_int64/q10_returned_item_int64.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q10_returned_item_int64/q10_returned_item_int64.3.query.aql
new file mode 100644
index 0000000..c867b31
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q10_returned_item_int64/q10_returned_item_int64.3.query.aql
@@ -0,0 +1,55 @@
+use dataverse tpch;
+
+for $locn in (
+for $l in dataset('LineItem')
+for $ocn in (
+	for $o in dataset('Orders')
+	for $c in dataset('Customer')
+		where $c.c_custkey = $o.o_custkey and $o.o_orderdate >= '1993-10-01' and $o.o_orderdate < '1994-01-01'
+	for $n in dataset('Nation')
+		where $c.c_nationkey = $n.n_nationkey
+	return {
+		"c_custkey": $c.c_custkey, 
+		"c_name": $c.c_name,
+  		"c_acctbal": $c.c_acctbal, 
+  		"n_name": $n.n_name, 
+  		"c_address": $c.c_address, 
+  		"c_phone": $c.c_phone, 
+  		"c_comment": $c.c_comment,
+  		"o_orderkey": $o.o_orderkey
+	}
+)
+where
+   $l.l_orderkey = $ocn.o_orderkey and $l.l_returnflag = 'R'
+   return {
+		"c_custkey": $ocn.c_custkey, 
+		"c_name": $ocn.c_name,
+  		"c_acctbal": $ocn.c_acctbal, 
+  		"n_name": $ocn.n_name, 
+  		"c_address": $ocn.c_address, 
+  		"c_phone": $ocn.c_phone, 
+  		"c_comment": $ocn.c_comment,
+  		"l_extendedprice": $l.l_extendedprice,
+  		"l_discount": $l.l_discount
+	}	
+)
+group by $c_custkey:=$locn.c_custkey, 
+		$c_name:=$locn.c_name, 
+		$c_acctbal:=$locn.c_acctbal, $c_phone:=$locn.c_phone, 
+		$n_name:=$locn.n_name, $c_address:=$locn.c_address, $c_comment:=$locn.c_comment
+		with $locn
+let $revenue := sum(for $i in $locn return $i.l_extendedprice * (1 - $i.l_discount))
+order by $revenue desc
+limit 20
+return {
+		"c_custkey": $c_custkey, 
+		"c_name": $c_name,
+		"revenue": $revenue,
+  		"c_acctbal": $c_acctbal, 
+  		"n_name": $n_name, 
+  		"c_address": $c_address, 
+  		"c_phone": $c_phone, 
+  		"c_comment": $c_comment
+}
+		
+		
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q11_important_stock/q11_important_stock.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q11_important_stock/q11_important_stock.1.ddl.aql
new file mode 100644
index 0000000..5231e76
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q11_important_stock/q11_important_stock.1.ddl.aql
@@ -0,0 +1,88 @@
+drop dataverse tpch if exists;
+create dataverse tpch;
+
+create type LineItemType as closed {
+  l_orderkey: int32, 
+  l_partkey: int32, 
+  l_suppkey: int32, 
+  l_linenumber: int32, 
+  l_quantity: int32, 
+  l_extendedprice: double,
+  l_discount: double, 
+  l_tax: double,
+  l_returnflag: string, 
+  l_linestatus: string, 
+  l_shipdate: string,
+  l_commitdate: string, 
+  l_receiptdate: string, 
+  l_shipinstruct: string, 
+  l_shipmode: string, 
+  l_comment: string
+}
+
+create type OrderType as closed {
+  o_orderkey: int32, 
+  o_custkey: int32, 
+  o_orderstatus: string, 
+  o_totalprice: double, 
+  o_orderdate: string, 
+  o_orderpriority: string,
+  o_clerk: string, 
+  o_shippriority: int32, 
+  o_comment: string
+}
+
+create type CustomerType as closed {
+  c_custkey: int32, 
+  c_name: string, 
+  c_address: string, 
+  c_nationkey: int32, 
+  c_phone: string, 
+  c_acctbal: double, 
+  c_mktsegment: string,
+  c_comment: string
+}
+
+create type SupplierType as closed {
+  s_suppkey: int32, 
+  s_name: string,
+  s_address: string,
+  s_nationkey: int32,
+  s_phone: string,
+  s_acctbal: double,
+  s_comment: string
+}
+
+create type NationType as closed {
+  n_nationkey: int32,
+  n_name: string,
+  n_regionkey: int32,
+  n_comment: string
+}
+
+create type RegionType as closed {
+	r_regionkey: int32, 
+	r_name: string, 
+	r_comment: string
+} 
+
+create type PartType as closed {
+  p_partkey: int32, 
+  p_name: string, 
+  p_mfgr: string,
+  p_brand: string,
+  p_type: string,
+  p_size: int32,
+  p_container: string,
+  p_retailprice: double,
+  p_comment: string
+}
+
+create type PartSuppType as closed {
+  ps_partkey: int32, 
+  ps_suppkey: int32,
+  ps_availqty: int32,
+  ps_supplycost: double,
+  ps_comment: string 
+}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q11_important_stock/q11_important_stock.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q11_important_stock/q11_important_stock.2.update.aql
new file mode 100644
index 0000000..b23ff7f
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q11_important_stock/q11_important_stock.2.update.aql
@@ -0,0 +1,33 @@
+use dataverse tpch;
+
+load dataset LineItem 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Orders 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Supplier 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Region 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Nation 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Part 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Partsupp 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Customer 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q11_important_stock/q11_important_stock.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q11_important_stock/q11_important_stock.3.query.aql
new file mode 100644
index 0000000..42a86d1
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q11_important_stock/q11_important_stock.3.query.aql
@@ -0,0 +1,31 @@
+use dataverse tpch;
+
+let $sum := sum (
+for $ps in dataset('Partsupp')
+for $sn in (
+	for $s in dataset('Supplier')
+	for $n in dataset('Nation')
+		where $s.s_nationkey = $n.n_nationkey
+	return {"s_suppkey": $s.s_suppkey}
+	)
+where $ps.ps_suppkey = $sn.s_suppkey
+return $ps.ps_supplycost * $ps.ps_availqty)
+
+for $t1 in 
+(
+for $ps in dataset('Partsupp')
+for $sn in (
+	for $s in dataset('Supplier')
+	for $n in dataset('Nation')
+		where $s.s_nationkey = $n.n_nationkey
+	return {"s_suppkey": $s.s_suppkey}
+)
+where $ps.ps_suppkey = $sn.s_suppkey
+group by $ps_partkey := $ps.ps_partkey with $ps
+return {"ps_partkey": $ps_partkey, 
+"part_value": sum(for $i in $ps return $i.ps_supplycost * $i.ps_availqty)}
+)
+
+where $t1.part_value > $sum * 0.00001
+order by $t1.part_value desc
+return {"partkey": $t1.ps_partkey, "part_value":$t1.part_value}
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q12_shipping/q12_shipping.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q12_shipping/q12_shipping.1.ddl.aql
new file mode 100644
index 0000000..5231e76
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q12_shipping/q12_shipping.1.ddl.aql
@@ -0,0 +1,88 @@
+drop dataverse tpch if exists;
+create dataverse tpch;
+
+create type LineItemType as closed {
+  l_orderkey: int32, 
+  l_partkey: int32, 
+  l_suppkey: int32, 
+  l_linenumber: int32, 
+  l_quantity: int32, 
+  l_extendedprice: double,
+  l_discount: double, 
+  l_tax: double,
+  l_returnflag: string, 
+  l_linestatus: string, 
+  l_shipdate: string,
+  l_commitdate: string, 
+  l_receiptdate: string, 
+  l_shipinstruct: string, 
+  l_shipmode: string, 
+  l_comment: string
+}
+
+create type OrderType as closed {
+  o_orderkey: int32, 
+  o_custkey: int32, 
+  o_orderstatus: string, 
+  o_totalprice: double, 
+  o_orderdate: string, 
+  o_orderpriority: string,
+  o_clerk: string, 
+  o_shippriority: int32, 
+  o_comment: string
+}
+
+create type CustomerType as closed {
+  c_custkey: int32, 
+  c_name: string, 
+  c_address: string, 
+  c_nationkey: int32, 
+  c_phone: string, 
+  c_acctbal: double, 
+  c_mktsegment: string,
+  c_comment: string
+}
+
+create type SupplierType as closed {
+  s_suppkey: int32, 
+  s_name: string,
+  s_address: string,
+  s_nationkey: int32,
+  s_phone: string,
+  s_acctbal: double,
+  s_comment: string
+}
+
+create type NationType as closed {
+  n_nationkey: int32,
+  n_name: string,
+  n_regionkey: int32,
+  n_comment: string
+}
+
+create type RegionType as closed {
+	r_regionkey: int32, 
+	r_name: string, 
+	r_comment: string
+} 
+
+create type PartType as closed {
+  p_partkey: int32, 
+  p_name: string, 
+  p_mfgr: string,
+  p_brand: string,
+  p_type: string,
+  p_size: int32,
+  p_container: string,
+  p_retailprice: double,
+  p_comment: string
+}
+
+create type PartSuppType as closed {
+  ps_partkey: int32, 
+  ps_suppkey: int32,
+  ps_availqty: int32,
+  ps_supplycost: double,
+  ps_comment: string 
+}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q12_shipping/q12_shipping.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q12_shipping/q12_shipping.2.update.aql
new file mode 100644
index 0000000..2d70882
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q12_shipping/q12_shipping.2.update.aql
@@ -0,0 +1,51 @@
+use dataverse tpch;
+
+create dataset LineItem(LineItemType)
+  primary key l_orderkey, l_linenumber;
+create dataset Orders(OrderType)
+  primary key o_orderkey;
+create dataset Supplier(SupplierType)
+  primary key s_suppkey;
+create dataset Region(RegionType) 
+  primary key r_regionkey;
+create dataset Nation(NationType) 
+  primary key n_nationkey;
+create dataset Part(PartType)
+  primary key p_partkey;
+create dataset Partsupp(PartSuppType)
+  primary key ps_partkey, ps_suppkey;  
+create dataset Customer(CustomerType) 
+  primary key c_custkey;
+
+load dataset LineItem 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Orders 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Supplier 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Region 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Nation 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Part 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Partsupp 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Customer 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q12_shipping/q12_shipping.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q12_shipping/q12_shipping.3.query.aql
new file mode 100644
index 0000000..b6d4ab0
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q12_shipping/q12_shipping.3.query.aql
@@ -0,0 +1,28 @@
+use dataverse tpch;
+
+for $l in dataset('LineItem')
+for $o in dataset('Orders')
+
+where
+$o.o_orderkey = $l.l_orderkey 
+and $l.l_commitdate < $l.l_receiptdate
+and $l.l_shipdate < $l.l_commitdate 
+and $l.l_receiptdate >= '1994-01-01' 
+and $l.l_receiptdate < '1995-01-01'
+and ($l.l_shipmode = 'MAIL' or $l.l_shipmode = 'SHIP')
+
+group by $l_shipmode := $l.l_shipmode with $o
+order by $l_shipmode
+return {
+"l_shipmode": $l_shipmode,
+"high_line_count": sum(for $i in $o 
+        return switch-case( $i.o_orderpriority ='1-URGENT' or $i.o_orderpriority ='2-HIGH',
+		true, 1,
+        false, 0)),
+"low_line_count": sum(for $i in $o 
+		return switch-case( $i.o_orderpriority ='1-URGENT' or $i.o_orderpriority ='2-HIGH',
+		true, 0,
+        false, 1))
+}
+
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q13_customer_distribution/q13_customer_distribution.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q13_customer_distribution/q13_customer_distribution.1.ddl.aql
new file mode 100644
index 0000000..5231e76
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q13_customer_distribution/q13_customer_distribution.1.ddl.aql
@@ -0,0 +1,88 @@
+drop dataverse tpch if exists;
+create dataverse tpch;
+
+create type LineItemType as closed {
+  l_orderkey: int32, 
+  l_partkey: int32, 
+  l_suppkey: int32, 
+  l_linenumber: int32, 
+  l_quantity: int32, 
+  l_extendedprice: double,
+  l_discount: double, 
+  l_tax: double,
+  l_returnflag: string, 
+  l_linestatus: string, 
+  l_shipdate: string,
+  l_commitdate: string, 
+  l_receiptdate: string, 
+  l_shipinstruct: string, 
+  l_shipmode: string, 
+  l_comment: string
+}
+
+create type OrderType as closed {
+  o_orderkey: int32, 
+  o_custkey: int32, 
+  o_orderstatus: string, 
+  o_totalprice: double, 
+  o_orderdate: string, 
+  o_orderpriority: string,
+  o_clerk: string, 
+  o_shippriority: int32, 
+  o_comment: string
+}
+
+create type CustomerType as closed {
+  c_custkey: int32, 
+  c_name: string, 
+  c_address: string, 
+  c_nationkey: int32, 
+  c_phone: string, 
+  c_acctbal: double, 
+  c_mktsegment: string,
+  c_comment: string
+}
+
+create type SupplierType as closed {
+  s_suppkey: int32, 
+  s_name: string,
+  s_address: string,
+  s_nationkey: int32,
+  s_phone: string,
+  s_acctbal: double,
+  s_comment: string
+}
+
+create type NationType as closed {
+  n_nationkey: int32,
+  n_name: string,
+  n_regionkey: int32,
+  n_comment: string
+}
+
+create type RegionType as closed {
+	r_regionkey: int32, 
+	r_name: string, 
+	r_comment: string
+} 
+
+create type PartType as closed {
+  p_partkey: int32, 
+  p_name: string, 
+  p_mfgr: string,
+  p_brand: string,
+  p_type: string,
+  p_size: int32,
+  p_container: string,
+  p_retailprice: double,
+  p_comment: string
+}
+
+create type PartSuppType as closed {
+  ps_partkey: int32, 
+  ps_suppkey: int32,
+  ps_availqty: int32,
+  ps_supplycost: double,
+  ps_comment: string 
+}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q13_customer_distribution/q13_customer_distribution.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q13_customer_distribution/q13_customer_distribution.2.update.aql
new file mode 100644
index 0000000..2d70882
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q13_customer_distribution/q13_customer_distribution.2.update.aql
@@ -0,0 +1,51 @@
+use dataverse tpch;
+
+create dataset LineItem(LineItemType)
+  primary key l_orderkey, l_linenumber;
+create dataset Orders(OrderType)
+  primary key o_orderkey;
+create dataset Supplier(SupplierType)
+  primary key s_suppkey;
+create dataset Region(RegionType) 
+  primary key r_regionkey;
+create dataset Nation(NationType) 
+  primary key n_nationkey;
+create dataset Part(PartType)
+  primary key p_partkey;
+create dataset Partsupp(PartSuppType)
+  primary key ps_partkey, ps_suppkey;  
+create dataset Customer(CustomerType) 
+  primary key c_custkey;
+
+load dataset LineItem 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Orders 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Supplier 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Region 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Nation 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Part 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Partsupp 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Customer 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q13_customer_distribution/q13_customer_distribution.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q13_customer_distribution/q13_customer_distribution.3.query.aql
new file mode 100644
index 0000000..a75b9c9
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q13_customer_distribution/q13_customer_distribution.3.query.aql
@@ -0,0 +1,26 @@
+use dataverse tpch;
+
+for $gco in (
+	for $co in
+		(
+			for $c in dataset('Customer')
+			return 
+			{
+				"c_custkey": $c.c_custkey, 
+				 "o_orderkey_count": count(
+						for $o in dataset('Orders')
+   							where  $c.c_custkey = $o.o_custkey and not(like($o.o_comment,'%special%requests%'))
+						return $o.o_orderkey)
+			}
+		)
+	group by $c_custkey := $co.c_custkey with $co
+		return{
+			"c_custkey": $c_custkey, "c_count": sum(for $i in $co return $i.o_orderkey_count)
+		}
+)
+
+group by $c_count := $gco.c_count with $gco
+let $custdist := count($gco)
+order by $custdist desc, $c_count desc
+return {"c_count": $c_count, "custdist": $custdist}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q14_promotion_effect/q14_promotion_effect.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q14_promotion_effect/q14_promotion_effect.1.ddl.aql
new file mode 100644
index 0000000..5231e76
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q14_promotion_effect/q14_promotion_effect.1.ddl.aql
@@ -0,0 +1,88 @@
+drop dataverse tpch if exists;
+create dataverse tpch;
+
+create type LineItemType as closed {
+  l_orderkey: int32, 
+  l_partkey: int32, 
+  l_suppkey: int32, 
+  l_linenumber: int32, 
+  l_quantity: int32, 
+  l_extendedprice: double,
+  l_discount: double, 
+  l_tax: double,
+  l_returnflag: string, 
+  l_linestatus: string, 
+  l_shipdate: string,
+  l_commitdate: string, 
+  l_receiptdate: string, 
+  l_shipinstruct: string, 
+  l_shipmode: string, 
+  l_comment: string
+}
+
+create type OrderType as closed {
+  o_orderkey: int32, 
+  o_custkey: int32, 
+  o_orderstatus: string, 
+  o_totalprice: double, 
+  o_orderdate: string, 
+  o_orderpriority: string,
+  o_clerk: string, 
+  o_shippriority: int32, 
+  o_comment: string
+}
+
+create type CustomerType as closed {
+  c_custkey: int32, 
+  c_name: string, 
+  c_address: string, 
+  c_nationkey: int32, 
+  c_phone: string, 
+  c_acctbal: double, 
+  c_mktsegment: string,
+  c_comment: string
+}
+
+create type SupplierType as closed {
+  s_suppkey: int32, 
+  s_name: string,
+  s_address: string,
+  s_nationkey: int32,
+  s_phone: string,
+  s_acctbal: double,
+  s_comment: string
+}
+
+create type NationType as closed {
+  n_nationkey: int32,
+  n_name: string,
+  n_regionkey: int32,
+  n_comment: string
+}
+
+create type RegionType as closed {
+	r_regionkey: int32, 
+	r_name: string, 
+	r_comment: string
+} 
+
+create type PartType as closed {
+  p_partkey: int32, 
+  p_name: string, 
+  p_mfgr: string,
+  p_brand: string,
+  p_type: string,
+  p_size: int32,
+  p_container: string,
+  p_retailprice: double,
+  p_comment: string
+}
+
+create type PartSuppType as closed {
+  ps_partkey: int32, 
+  ps_suppkey: int32,
+  ps_availqty: int32,
+  ps_supplycost: double,
+  ps_comment: string 
+}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q14_promotion_effect/q14_promotion_effect.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q14_promotion_effect/q14_promotion_effect.2.update.aql
new file mode 100644
index 0000000..2d70882
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q14_promotion_effect/q14_promotion_effect.2.update.aql
@@ -0,0 +1,51 @@
+use dataverse tpch;
+
+create dataset LineItem(LineItemType)
+  primary key l_orderkey, l_linenumber;
+create dataset Orders(OrderType)
+  primary key o_orderkey;
+create dataset Supplier(SupplierType)
+  primary key s_suppkey;
+create dataset Region(RegionType) 
+  primary key r_regionkey;
+create dataset Nation(NationType) 
+  primary key n_nationkey;
+create dataset Part(PartType)
+  primary key p_partkey;
+create dataset Partsupp(PartSuppType)
+  primary key ps_partkey, ps_suppkey;  
+create dataset Customer(CustomerType) 
+  primary key c_custkey;
+
+load dataset LineItem 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Orders 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Supplier 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Region 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Nation 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Part 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Partsupp 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Customer 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q14_promotion_effect/q14_promotion_effect.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q14_promotion_effect/q14_promotion_effect.3.query.aql
new file mode 100644
index 0000000..040e4ec
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q14_promotion_effect/q14_promotion_effect.3.query.aql
@@ -0,0 +1,11 @@
+use dataverse tpch;
+
+for $l in dataset('LineItem')
+for $p in dataset('Part')
+	where $l.l_partkey = $p.p_partkey and $l.l_shipdate >= '1995-09-01' and $l.l_shipdate < '1995-10-01'
+group by $t:=1 with $l, $p
+return 100.00 * sum( for $i in $l
+			   return switch-case(like($i.p_type, 'PROMO%'),
+               true, $i.l_extendedprice*(1-$i.l_discount),
+               false, 0.0)
+  ) / sum( for $i in $l return $i.l_extendedprice * (1 - $i.l_discount))
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q15_top_supplier/q15_top_supplier.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q15_top_supplier/q15_top_supplier.1.ddl.aql
new file mode 100644
index 0000000..5231e76
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q15_top_supplier/q15_top_supplier.1.ddl.aql
@@ -0,0 +1,88 @@
+drop dataverse tpch if exists;
+create dataverse tpch;
+
+create type LineItemType as closed {
+  l_orderkey: int32, 
+  l_partkey: int32, 
+  l_suppkey: int32, 
+  l_linenumber: int32, 
+  l_quantity: int32, 
+  l_extendedprice: double,
+  l_discount: double, 
+  l_tax: double,
+  l_returnflag: string, 
+  l_linestatus: string, 
+  l_shipdate: string,
+  l_commitdate: string, 
+  l_receiptdate: string, 
+  l_shipinstruct: string, 
+  l_shipmode: string, 
+  l_comment: string
+}
+
+create type OrderType as closed {
+  o_orderkey: int32, 
+  o_custkey: int32, 
+  o_orderstatus: string, 
+  o_totalprice: double, 
+  o_orderdate: string, 
+  o_orderpriority: string,
+  o_clerk: string, 
+  o_shippriority: int32, 
+  o_comment: string
+}
+
+create type CustomerType as closed {
+  c_custkey: int32, 
+  c_name: string, 
+  c_address: string, 
+  c_nationkey: int32, 
+  c_phone: string, 
+  c_acctbal: double, 
+  c_mktsegment: string,
+  c_comment: string
+}
+
+create type SupplierType as closed {
+  s_suppkey: int32, 
+  s_name: string,
+  s_address: string,
+  s_nationkey: int32,
+  s_phone: string,
+  s_acctbal: double,
+  s_comment: string
+}
+
+create type NationType as closed {
+  n_nationkey: int32,
+  n_name: string,
+  n_regionkey: int32,
+  n_comment: string
+}
+
+create type RegionType as closed {
+	r_regionkey: int32, 
+	r_name: string, 
+	r_comment: string
+} 
+
+create type PartType as closed {
+  p_partkey: int32, 
+  p_name: string, 
+  p_mfgr: string,
+  p_brand: string,
+  p_type: string,
+  p_size: int32,
+  p_container: string,
+  p_retailprice: double,
+  p_comment: string
+}
+
+create type PartSuppType as closed {
+  ps_partkey: int32, 
+  ps_suppkey: int32,
+  ps_availqty: int32,
+  ps_supplycost: double,
+  ps_comment: string 
+}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q15_top_supplier/q15_top_supplier.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q15_top_supplier/q15_top_supplier.2.update.aql
new file mode 100644
index 0000000..2d70882
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q15_top_supplier/q15_top_supplier.2.update.aql
@@ -0,0 +1,51 @@
+use dataverse tpch;
+
+create dataset LineItem(LineItemType)
+  primary key l_orderkey, l_linenumber;
+create dataset Orders(OrderType)
+  primary key o_orderkey;
+create dataset Supplier(SupplierType)
+  primary key s_suppkey;
+create dataset Region(RegionType) 
+  primary key r_regionkey;
+create dataset Nation(NationType) 
+  primary key n_nationkey;
+create dataset Part(PartType)
+  primary key p_partkey;
+create dataset Partsupp(PartSuppType)
+  primary key ps_partkey, ps_suppkey;  
+create dataset Customer(CustomerType) 
+  primary key c_custkey;
+
+load dataset LineItem 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Orders 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Supplier 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Region 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Nation 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Part 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Partsupp 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Customer 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q15_top_supplier/q15_top_supplier.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q15_top_supplier/q15_top_supplier.3.query.aql
new file mode 100644
index 0000000..f61ceb5
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q15_top_supplier/q15_top_supplier.3.query.aql
@@ -0,0 +1,27 @@
+use dataverse tpch;
+
+declare function revenue(){
+for $l in dataset('LineItem')
+where $l.l_shipdate >= '1996-01-01' and $l.l_shipdate < '1996-04-01'
+group by $l_suppkey := $l.l_suppkey with $l
+return {
+"supplier_no": $l_suppkey, 
+"total_revenue": sum(for $i in $l return $i.l_extendedprice * (1 - $i.l_discount))
+}
+}
+
+let $m := max(
+	for $r2 in revenue()
+	return $r2.total_revenue
+)
+
+for $s in dataset('Supplier')
+for $r in revenue()
+	where $s.s_suppkey = $r.supplier_no and $r.total_revenue=$m
+return {
+"s_suppkey": $s.s_suppkey, 
+"s_name": $s.s_name, 
+"s_address": $s.s_address, 
+"s_phone": $s.s_phone, 
+"total_revenue": $r.total_revenue
+}
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q16_parts_supplier_relationship/q16_parts_supplier_relationship.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q16_parts_supplier_relationship/q16_parts_supplier_relationship.1.ddl.aql
new file mode 100644
index 0000000..5231e76
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q16_parts_supplier_relationship/q16_parts_supplier_relationship.1.ddl.aql
@@ -0,0 +1,88 @@
+drop dataverse tpch if exists;
+create dataverse tpch;
+
+create type LineItemType as closed {
+  l_orderkey: int32, 
+  l_partkey: int32, 
+  l_suppkey: int32, 
+  l_linenumber: int32, 
+  l_quantity: int32, 
+  l_extendedprice: double,
+  l_discount: double, 
+  l_tax: double,
+  l_returnflag: string, 
+  l_linestatus: string, 
+  l_shipdate: string,
+  l_commitdate: string, 
+  l_receiptdate: string, 
+  l_shipinstruct: string, 
+  l_shipmode: string, 
+  l_comment: string
+}
+
+create type OrderType as closed {
+  o_orderkey: int32, 
+  o_custkey: int32, 
+  o_orderstatus: string, 
+  o_totalprice: double, 
+  o_orderdate: string, 
+  o_orderpriority: string,
+  o_clerk: string, 
+  o_shippriority: int32, 
+  o_comment: string
+}
+
+create type CustomerType as closed {
+  c_custkey: int32, 
+  c_name: string, 
+  c_address: string, 
+  c_nationkey: int32, 
+  c_phone: string, 
+  c_acctbal: double, 
+  c_mktsegment: string,
+  c_comment: string
+}
+
+create type SupplierType as closed {
+  s_suppkey: int32, 
+  s_name: string,
+  s_address: string,
+  s_nationkey: int32,
+  s_phone: string,
+  s_acctbal: double,
+  s_comment: string
+}
+
+create type NationType as closed {
+  n_nationkey: int32,
+  n_name: string,
+  n_regionkey: int32,
+  n_comment: string
+}
+
+create type RegionType as closed {
+	r_regionkey: int32, 
+	r_name: string, 
+	r_comment: string
+} 
+
+create type PartType as closed {
+  p_partkey: int32, 
+  p_name: string, 
+  p_mfgr: string,
+  p_brand: string,
+  p_type: string,
+  p_size: int32,
+  p_container: string,
+  p_retailprice: double,
+  p_comment: string
+}
+
+create type PartSuppType as closed {
+  ps_partkey: int32, 
+  ps_suppkey: int32,
+  ps_availqty: int32,
+  ps_supplycost: double,
+  ps_comment: string 
+}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q16_parts_supplier_relationship/q16_parts_supplier_relationship.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q16_parts_supplier_relationship/q16_parts_supplier_relationship.2.update.aql
new file mode 100644
index 0000000..2d70882
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q16_parts_supplier_relationship/q16_parts_supplier_relationship.2.update.aql
@@ -0,0 +1,51 @@
+use dataverse tpch;
+
+create dataset LineItem(LineItemType)
+  primary key l_orderkey, l_linenumber;
+create dataset Orders(OrderType)
+  primary key o_orderkey;
+create dataset Supplier(SupplierType)
+  primary key s_suppkey;
+create dataset Region(RegionType) 
+  primary key r_regionkey;
+create dataset Nation(NationType) 
+  primary key n_nationkey;
+create dataset Part(PartType)
+  primary key p_partkey;
+create dataset Partsupp(PartSuppType)
+  primary key ps_partkey, ps_suppkey;  
+create dataset Customer(CustomerType) 
+  primary key c_custkey;
+
+load dataset LineItem 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Orders 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Supplier 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Region 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Nation 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Part 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Partsupp 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Customer 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q16_parts_supplier_relationship/q16_parts_supplier_relationship.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q16_parts_supplier_relationship/q16_parts_supplier_relationship.3.query.aql
new file mode 100644
index 0000000..e5c928e
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q16_parts_supplier_relationship/q16_parts_supplier_relationship.3.query.aql
@@ -0,0 +1,54 @@
+use dataverse tpch;
+
+declare function tmp(){
+for $psp in (
+	for $ps in dataset('Partsupp')
+	for $p in dataset('Part')
+		where $p.p_partkey = $ps.ps_partkey and $p.p_brand != 'Brand#45' 
+    	and not(like($p.p_type, 'MEDIUM POLISHED%'))
+	return 
+	{
+ 	"p_brand": $p.p_brand, 
+ 	"p_type": $p.p_type, 
+ 	"p_size": $p.p_size,
+ 	"ps_suppkey": $ps.ps_suppkey
+	}
+)
+for $s in dataset('Supplier')
+	where $psp.ps_suppkey = $s.s_suppkey and not(like($s.s_comment, '%Customer%Complaints%'))
+return 
+{
+ "p_brand": $psp.p_brand, 
+ "p_type": $psp.p_type, 
+ "p_size": $psp.p_size, 
+ "ps_suppkey": $psp.ps_suppkey
+}
+}
+
+for $t2 in 
+(
+for $t in tmp()   
+	where $t.p_size = 49 or $t.p_size = 14 or $t.p_size = 23 or
+         $t.p_size = 45 or $t.p_size = 19 or $t.p_size = 3 or
+         $t.p_size = 36 or $t.p_size = 9
+group by $p_brand1:= $t.p_brand, $p_type1 := $t.p_type, 
+	  $p_size1:= $t.p_size, $ps_suppkey1:=$t.ps_suppkey with $t
+return 
+{
+"p_brand": $p_brand1, 
+ "p_type": $p_type1, 
+ "p_size": $p_size1, 
+ "ps_suppkey": $ps_suppkey1
+} )
+group by $p_brand := $t2.p_brand, $p_type := $t2.p_type, $p_size := $t2.p_size with $t2
+let $supplier_cnt := count(for $i in $t2 return $i.ps_suppkey)
+order by $supplier_cnt desc, $p_brand, $p_type, $p_size
+return {
+"p_brand": $p_brand, 
+"p_type": $p_type, 
+"p_size": $p_size,
+"supplier_cnt": $supplier_cnt
+}
+
+
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q17_small_quantity_order_revenue/q17_small_quantity_order_revenue.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q17_small_quantity_order_revenue/q17_small_quantity_order_revenue.1.ddl.aql
new file mode 100644
index 0000000..5231e76
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q17_small_quantity_order_revenue/q17_small_quantity_order_revenue.1.ddl.aql
@@ -0,0 +1,88 @@
+drop dataverse tpch if exists;
+create dataverse tpch;
+
+create type LineItemType as closed {
+  l_orderkey: int32, 
+  l_partkey: int32, 
+  l_suppkey: int32, 
+  l_linenumber: int32, 
+  l_quantity: int32, 
+  l_extendedprice: double,
+  l_discount: double, 
+  l_tax: double,
+  l_returnflag: string, 
+  l_linestatus: string, 
+  l_shipdate: string,
+  l_commitdate: string, 
+  l_receiptdate: string, 
+  l_shipinstruct: string, 
+  l_shipmode: string, 
+  l_comment: string
+}
+
+create type OrderType as closed {
+  o_orderkey: int32, 
+  o_custkey: int32, 
+  o_orderstatus: string, 
+  o_totalprice: double, 
+  o_orderdate: string, 
+  o_orderpriority: string,
+  o_clerk: string, 
+  o_shippriority: int32, 
+  o_comment: string
+}
+
+create type CustomerType as closed {
+  c_custkey: int32, 
+  c_name: string, 
+  c_address: string, 
+  c_nationkey: int32, 
+  c_phone: string, 
+  c_acctbal: double, 
+  c_mktsegment: string,
+  c_comment: string
+}
+
+create type SupplierType as closed {
+  s_suppkey: int32, 
+  s_name: string,
+  s_address: string,
+  s_nationkey: int32,
+  s_phone: string,
+  s_acctbal: double,
+  s_comment: string
+}
+
+create type NationType as closed {
+  n_nationkey: int32,
+  n_name: string,
+  n_regionkey: int32,
+  n_comment: string
+}
+
+create type RegionType as closed {
+	r_regionkey: int32, 
+	r_name: string, 
+	r_comment: string
+} 
+
+create type PartType as closed {
+  p_partkey: int32, 
+  p_name: string, 
+  p_mfgr: string,
+  p_brand: string,
+  p_type: string,
+  p_size: int32,
+  p_container: string,
+  p_retailprice: double,
+  p_comment: string
+}
+
+create type PartSuppType as closed {
+  ps_partkey: int32, 
+  ps_suppkey: int32,
+  ps_availqty: int32,
+  ps_supplycost: double,
+  ps_comment: string 
+}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q17_small_quantity_order_revenue/q17_small_quantity_order_revenue.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q17_small_quantity_order_revenue/q17_small_quantity_order_revenue.2.update.aql
new file mode 100644
index 0000000..2d70882
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q17_small_quantity_order_revenue/q17_small_quantity_order_revenue.2.update.aql
@@ -0,0 +1,51 @@
+use dataverse tpch;
+
+create dataset LineItem(LineItemType)
+  primary key l_orderkey, l_linenumber;
+create dataset Orders(OrderType)
+  primary key o_orderkey;
+create dataset Supplier(SupplierType)
+  primary key s_suppkey;
+create dataset Region(RegionType) 
+  primary key r_regionkey;
+create dataset Nation(NationType) 
+  primary key n_nationkey;
+create dataset Part(PartType)
+  primary key p_partkey;
+create dataset Partsupp(PartSuppType)
+  primary key ps_partkey, ps_suppkey;  
+create dataset Customer(CustomerType) 
+  primary key c_custkey;
+
+load dataset LineItem 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Orders 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Supplier 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Region 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Nation 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Part 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Partsupp 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Customer 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q17_small_quantity_order_revenue/q17_small_quantity_order_revenue.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q17_small_quantity_order_revenue/q17_small_quantity_order_revenue.3.query.aql
new file mode 100644
index 0000000..67644d9
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q17_small_quantity_order_revenue/q17_small_quantity_order_revenue.3.query.aql
@@ -0,0 +1,21 @@
+use dataverse tpch;
+
+declare function tmp(){
+for $l in dataset('LineItem')
+group by $l_partkey := $l.l_partkey with $l
+return {
+"t_partkey": $l_partkey, 
+"t_avg_quantity": 0.2 * avg(for $i in $l return $i.l_quantity)
+}
+}
+
+sum(
+for $l in dataset('LineItem')
+for $p in dataset('Part')
+where  $p.p_partkey = $l.l_partkey and $p.p_container = 'MED BOX'
+
+for $t in tmp()
+where $l.l_partkey = $t.t_partkey and $l.l_quantity < $t.t_avg_quantity
+return $l.l_extendedprice
+)/7.0
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q18_large_volume_customer/q18_large_volume_customer.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q18_large_volume_customer/q18_large_volume_customer.1.ddl.aql
new file mode 100644
index 0000000..5231e76
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q18_large_volume_customer/q18_large_volume_customer.1.ddl.aql
@@ -0,0 +1,88 @@
+drop dataverse tpch if exists;
+create dataverse tpch;
+
+create type LineItemType as closed {
+  l_orderkey: int32, 
+  l_partkey: int32, 
+  l_suppkey: int32, 
+  l_linenumber: int32, 
+  l_quantity: int32, 
+  l_extendedprice: double,
+  l_discount: double, 
+  l_tax: double,
+  l_returnflag: string, 
+  l_linestatus: string, 
+  l_shipdate: string,
+  l_commitdate: string, 
+  l_receiptdate: string, 
+  l_shipinstruct: string, 
+  l_shipmode: string, 
+  l_comment: string
+}
+
+create type OrderType as closed {
+  o_orderkey: int32, 
+  o_custkey: int32, 
+  o_orderstatus: string, 
+  o_totalprice: double, 
+  o_orderdate: string, 
+  o_orderpriority: string,
+  o_clerk: string, 
+  o_shippriority: int32, 
+  o_comment: string
+}
+
+create type CustomerType as closed {
+  c_custkey: int32, 
+  c_name: string, 
+  c_address: string, 
+  c_nationkey: int32, 
+  c_phone: string, 
+  c_acctbal: double, 
+  c_mktsegment: string,
+  c_comment: string
+}
+
+create type SupplierType as closed {
+  s_suppkey: int32, 
+  s_name: string,
+  s_address: string,
+  s_nationkey: int32,
+  s_phone: string,
+  s_acctbal: double,
+  s_comment: string
+}
+
+create type NationType as closed {
+  n_nationkey: int32,
+  n_name: string,
+  n_regionkey: int32,
+  n_comment: string
+}
+
+create type RegionType as closed {
+	r_regionkey: int32, 
+	r_name: string, 
+	r_comment: string
+} 
+
+create type PartType as closed {
+  p_partkey: int32, 
+  p_name: string, 
+  p_mfgr: string,
+  p_brand: string,
+  p_type: string,
+  p_size: int32,
+  p_container: string,
+  p_retailprice: double,
+  p_comment: string
+}
+
+create type PartSuppType as closed {
+  ps_partkey: int32, 
+  ps_suppkey: int32,
+  ps_availqty: int32,
+  ps_supplycost: double,
+  ps_comment: string 
+}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q18_large_volume_customer/q18_large_volume_customer.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q18_large_volume_customer/q18_large_volume_customer.2.update.aql
new file mode 100644
index 0000000..2d70882
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q18_large_volume_customer/q18_large_volume_customer.2.update.aql
@@ -0,0 +1,51 @@
+use dataverse tpch;
+
+create dataset LineItem(LineItemType)
+  primary key l_orderkey, l_linenumber;
+create dataset Orders(OrderType)
+  primary key o_orderkey;
+create dataset Supplier(SupplierType)
+  primary key s_suppkey;
+create dataset Region(RegionType) 
+  primary key r_regionkey;
+create dataset Nation(NationType) 
+  primary key n_nationkey;
+create dataset Part(PartType)
+  primary key p_partkey;
+create dataset Partsupp(PartSuppType)
+  primary key ps_partkey, ps_suppkey;  
+create dataset Customer(CustomerType) 
+  primary key c_custkey;
+
+load dataset LineItem 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Orders 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Supplier 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Region 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Nation 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Part 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Partsupp 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Customer 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q18_large_volume_customer/q18_large_volume_customer.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q18_large_volume_customer/q18_large_volume_customer.3.query.aql
new file mode 100644
index 0000000..df6d9f0
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q18_large_volume_customer/q18_large_volume_customer.3.query.aql
@@ -0,0 +1,32 @@
+use dataverse tpch;
+
+for $c in dataset('Customer')
+for $o in dataset('Orders')
+where
+  $c.c_custkey = $o.o_custkey
+for $t in 
+(
+  for $l in dataset('LineItem')
+  group by $l_orderkey := $l.l_orderkey with $l
+  return 
+    { "l_orderkey": $l_orderkey, 
+      "t_sum_quantity": sum(for $i in $l return $i.l_quantity) }
+) 
+where 
+  $o.o_orderkey = $t.l_orderkey and $t.t_sum_quantity > 30
+for $l in dataset('LineItem')
+where
+  $l.l_orderkey = $o.o_orderkey 
+group by $c_name := $c.c_name, $c_custkey := $c.c_custkey, $o_orderkey := $o.o_orderkey, 
+         $o_orderdate := $o.o_orderdate, $o_totalprice := $o.o_totalprice with $l
+order by $o_totalprice desc, $o_orderdate 
+limit 100
+return {  
+  "c_name": $c_name,
+  "c_custkey": $c_custkey,
+  "o_orderkey": $o_orderkey,
+  "o_orderdate": $o_orderdate,
+  "o_totalprice": $o_totalprice,
+  "sum_quantity": sum(for $j in $l return $j.l_quantity)  
+}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q19_discounted_revenue/q19_discounted_revenue.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q19_discounted_revenue/q19_discounted_revenue.1.ddl.aql
new file mode 100644
index 0000000..5231e76
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q19_discounted_revenue/q19_discounted_revenue.1.ddl.aql
@@ -0,0 +1,88 @@
+drop dataverse tpch if exists;
+create dataverse tpch;
+
+create type LineItemType as closed {
+  l_orderkey: int32, 
+  l_partkey: int32, 
+  l_suppkey: int32, 
+  l_linenumber: int32, 
+  l_quantity: int32, 
+  l_extendedprice: double,
+  l_discount: double, 
+  l_tax: double,
+  l_returnflag: string, 
+  l_linestatus: string, 
+  l_shipdate: string,
+  l_commitdate: string, 
+  l_receiptdate: string, 
+  l_shipinstruct: string, 
+  l_shipmode: string, 
+  l_comment: string
+}
+
+create type OrderType as closed {
+  o_orderkey: int32, 
+  o_custkey: int32, 
+  o_orderstatus: string, 
+  o_totalprice: double, 
+  o_orderdate: string, 
+  o_orderpriority: string,
+  o_clerk: string, 
+  o_shippriority: int32, 
+  o_comment: string
+}
+
+create type CustomerType as closed {
+  c_custkey: int32, 
+  c_name: string, 
+  c_address: string, 
+  c_nationkey: int32, 
+  c_phone: string, 
+  c_acctbal: double, 
+  c_mktsegment: string,
+  c_comment: string
+}
+
+create type SupplierType as closed {
+  s_suppkey: int32, 
+  s_name: string,
+  s_address: string,
+  s_nationkey: int32,
+  s_phone: string,
+  s_acctbal: double,
+  s_comment: string
+}
+
+create type NationType as closed {
+  n_nationkey: int32,
+  n_name: string,
+  n_regionkey: int32,
+  n_comment: string
+}
+
+create type RegionType as closed {
+	r_regionkey: int32, 
+	r_name: string, 
+	r_comment: string
+} 
+
+create type PartType as closed {
+  p_partkey: int32, 
+  p_name: string, 
+  p_mfgr: string,
+  p_brand: string,
+  p_type: string,
+  p_size: int32,
+  p_container: string,
+  p_retailprice: double,
+  p_comment: string
+}
+
+create type PartSuppType as closed {
+  ps_partkey: int32, 
+  ps_suppkey: int32,
+  ps_availqty: int32,
+  ps_supplycost: double,
+  ps_comment: string 
+}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q19_discounted_revenue/q19_discounted_revenue.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q19_discounted_revenue/q19_discounted_revenue.2.update.aql
new file mode 100644
index 0000000..2d70882
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q19_discounted_revenue/q19_discounted_revenue.2.update.aql
@@ -0,0 +1,51 @@
+use dataverse tpch;
+
+create dataset LineItem(LineItemType)
+  primary key l_orderkey, l_linenumber;
+create dataset Orders(OrderType)
+  primary key o_orderkey;
+create dataset Supplier(SupplierType)
+  primary key s_suppkey;
+create dataset Region(RegionType) 
+  primary key r_regionkey;
+create dataset Nation(NationType) 
+  primary key n_nationkey;
+create dataset Part(PartType)
+  primary key p_partkey;
+create dataset Partsupp(PartSuppType)
+  primary key ps_partkey, ps_suppkey;  
+create dataset Customer(CustomerType) 
+  primary key c_custkey;
+
+load dataset LineItem 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Orders 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Supplier 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Region 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Nation 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Part 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Partsupp 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Customer 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q19_discounted_revenue/q19_discounted_revenue.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q19_discounted_revenue/q19_discounted_revenue.3.query.aql
new file mode 100644
index 0000000..3fd46d5
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q19_discounted_revenue/q19_discounted_revenue.3.query.aql
@@ -0,0 +1,36 @@
+use dataverse tpch;
+
+sum( 
+for $l in dataset('LineItem')
+for $p in dataset('Part')
+where $p.p_partkey = $l.l_partkey
+and (
+ (
+    $p.p_brand = 'Brand#12'
+	and reg-exp($p.p_container,'SM CASE||SM BOX||SM PACK||SM PKG')
+	and $l.l_quantity >= 1 and $l.l_quantity <= 11
+	and $p.p_size >= 1 and $p.p_size <= 5
+	and reg-exp($l.l_shipmode, 'AIR||AIR REG')
+	and $l.l_shipinstruct = 'DELIVER IN PERSON'
+  ) 
+  or 
+  (
+    $p.p_brand = 'Brand#23'
+	and reg-exp($p.p_container, 'MED BAG||MED BOX||MED PKG||MED PACK')
+	and $l.l_quantity >= 10 and $l.l_quantity <= 20
+	and $p.p_size >= 1 and $p.p_size <= 10
+	and reg-exp($l.l_shipmode, 'AIR||AIR REG')
+	and $l.l_shipinstruct = 'DELIVER IN PERSON'
+  )
+  or
+  (
+	$p.p_brand = 'Brand#34'
+	and reg-exp($p.p_container, 'LG CASE||LG BOX||LG PACK||LG PKG')
+	and $l.l_quantity >= 20 and $l.l_quantity <= 30
+	and $p.p_size >= 1 and $p.p_size <= 15
+	and reg-exp($l.l_shipmode, 'AIR||AIR REG')
+	and $l.l_shipinstruct = 'DELIVER IN PERSON'
+  )
+ )
+return $l.l_extendedprice * (1 - $l.l_discount)
+)
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q1_pricing_summary_report_nt/q1_pricing_summary_report_nt.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q1_pricing_summary_report_nt/q1_pricing_summary_report_nt.1.ddl.aql
new file mode 100644
index 0000000..2d4c583
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q1_pricing_summary_report_nt/q1_pricing_summary_report_nt.1.ddl.aql
@@ -0,0 +1,22 @@
+drop dataverse tpch if exists;
+create dataverse tpch;
+
+create type LineItemType as closed {
+  l_orderkey: int32, 
+  l_partkey: int32, 
+  l_suppkey: int32, 
+  l_linenumber: int32, 
+  l_quantity: double, 
+  l_extendedprice: double,
+  l_discount: double, 
+  l_tax: double,
+  l_returnflag: string, 
+  l_linestatus: string, 
+  l_shipdate: string,
+  l_commitdate: string, 
+  l_receiptdate: string, 
+  l_shipinstruct: string, 
+  l_shipmode: string, 
+  l_comment: string
+}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q1_pricing_summary_report_nt/q1_pricing_summary_report_nt.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q1_pricing_summary_report_nt/q1_pricing_summary_report_nt.2.update.aql
new file mode 100644
index 0000000..cf309aa
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q1_pricing_summary_report_nt/q1_pricing_summary_report_nt.2.update.aql
@@ -0,0 +1,9 @@
+use dataverse tpch;
+
+create dataset LineItem(LineItemType)
+  primary key l_orderkey, l_linenumber;
+
+load dataset LineItem 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q1_pricing_summary_report_nt/q1_pricing_summary_report_nt.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q1_pricing_summary_report_nt/q1_pricing_summary_report_nt.3.query.aql
new file mode 100644
index 0000000..b6d6c48
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q1_pricing_summary_report_nt/q1_pricing_summary_report_nt.3.query.aql
@@ -0,0 +1,20 @@
+use dataverse tpch;
+ 
+for $l in dataset('LineItem')
+where $l.l_shipdate <= '1998-09-02'
+/*+ hash*/
+group by $l_returnflag := $l.l_returnflag, $l_linestatus := $l.l_linestatus  
+  with $l
+order by $l_returnflag, $l_linestatus
+return {
+  "l_returnflag": $l_returnflag,
+  "l_linestatus": $l_linestatus,
+  "sum_qty": sum(for $i in $l return $i.l_quantity),
+  "sum_base_price": sum(for $i in $l return $i.l_extendedprice),
+  "sum_disc_price": sum(for $i in $l return $i.l_extendedprice * (1 - $i.l_discount)),
+  "sum_charge": sum(for $i in $l return $i.l_extendedprice * (1 - $i.l_discount) * (1 + $i.l_tax)),
+  "ave_qty": avg(for $i in $l return $i.l_quantity),  
+  "ave_price": avg(for $i in $l return $i.l_extendedprice),
+  "ave_disc": avg(for $i in $l return $i.l_discount),
+  "count_order": count($l)
+}   
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q20_potential_part_promotion/q20_potential_part_promotion.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q20_potential_part_promotion/q20_potential_part_promotion.1.ddl.aql
new file mode 100644
index 0000000..5231e76
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q20_potential_part_promotion/q20_potential_part_promotion.1.ddl.aql
@@ -0,0 +1,88 @@
+drop dataverse tpch if exists;
+create dataverse tpch;
+
+create type LineItemType as closed {
+  l_orderkey: int32, 
+  l_partkey: int32, 
+  l_suppkey: int32, 
+  l_linenumber: int32, 
+  l_quantity: int32, 
+  l_extendedprice: double,
+  l_discount: double, 
+  l_tax: double,
+  l_returnflag: string, 
+  l_linestatus: string, 
+  l_shipdate: string,
+  l_commitdate: string, 
+  l_receiptdate: string, 
+  l_shipinstruct: string, 
+  l_shipmode: string, 
+  l_comment: string
+}
+
+create type OrderType as closed {
+  o_orderkey: int32, 
+  o_custkey: int32, 
+  o_orderstatus: string, 
+  o_totalprice: double, 
+  o_orderdate: string, 
+  o_orderpriority: string,
+  o_clerk: string, 
+  o_shippriority: int32, 
+  o_comment: string
+}
+
+create type CustomerType as closed {
+  c_custkey: int32, 
+  c_name: string, 
+  c_address: string, 
+  c_nationkey: int32, 
+  c_phone: string, 
+  c_acctbal: double, 
+  c_mktsegment: string,
+  c_comment: string
+}
+
+create type SupplierType as closed {
+  s_suppkey: int32, 
+  s_name: string,
+  s_address: string,
+  s_nationkey: int32,
+  s_phone: string,
+  s_acctbal: double,
+  s_comment: string
+}
+
+create type NationType as closed {
+  n_nationkey: int32,
+  n_name: string,
+  n_regionkey: int32,
+  n_comment: string
+}
+
+create type RegionType as closed {
+	r_regionkey: int32, 
+	r_name: string, 
+	r_comment: string
+} 
+
+create type PartType as closed {
+  p_partkey: int32, 
+  p_name: string, 
+  p_mfgr: string,
+  p_brand: string,
+  p_type: string,
+  p_size: int32,
+  p_container: string,
+  p_retailprice: double,
+  p_comment: string
+}
+
+create type PartSuppType as closed {
+  ps_partkey: int32, 
+  ps_suppkey: int32,
+  ps_availqty: int32,
+  ps_supplycost: double,
+  ps_comment: string 
+}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q20_potential_part_promotion/q20_potential_part_promotion.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q20_potential_part_promotion/q20_potential_part_promotion.2.update.aql
new file mode 100644
index 0000000..2d70882
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q20_potential_part_promotion/q20_potential_part_promotion.2.update.aql
@@ -0,0 +1,51 @@
+use dataverse tpch;
+
+create dataset LineItem(LineItemType)
+  primary key l_orderkey, l_linenumber;
+create dataset Orders(OrderType)
+  primary key o_orderkey;
+create dataset Supplier(SupplierType)
+  primary key s_suppkey;
+create dataset Region(RegionType) 
+  primary key r_regionkey;
+create dataset Nation(NationType) 
+  primary key n_nationkey;
+create dataset Part(PartType)
+  primary key p_partkey;
+create dataset Partsupp(PartSuppType)
+  primary key ps_partkey, ps_suppkey;  
+create dataset Customer(CustomerType) 
+  primary key c_custkey;
+
+load dataset LineItem 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Orders 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Supplier 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Region 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Nation 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Part 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Partsupp 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Customer 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q20_potential_part_promotion/q20_potential_part_promotion.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q20_potential_part_promotion/q20_potential_part_promotion.3.query.aql
new file mode 100644
index 0000000..a5a5bbe
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q20_potential_part_promotion/q20_potential_part_promotion.3.query.aql
@@ -0,0 +1,39 @@
+use dataverse tpch;
+
+for $t3 in (
+for $t2 in (
+	for $l in dataset('LineItem')
+		group by $l_partkey:=$l.l_partkey, $l_suppkey:=$l.l_suppkey with $l
+	return {
+	"l_partkey": $l_partkey, 
+	"l_suppkey": $l_suppkey, 
+	"sum_quantity": 0.5 * sum(for $i in $l return $i.l_quantity)
+})
+for $pst1 in (
+	for $ps in dataset('Partsupp')
+	for $t1 in 
+	(
+		for $p in dataset('Part')
+			distinct by $p.p_partkey
+		return {"p_partkey": $p.p_partkey}
+	)
+	where $ps.ps_partkey = $t1.p_partkey
+	return {"ps_suppkey": $ps.ps_suppkey, "ps_partkey": $ps.ps_partkey, "ps_availqty": $ps.ps_availqty}
+)
+where $pst1.ps_partkey = $t2.l_partkey and $pst1.ps_suppkey = $t2.l_suppkey
+		and $pst1.ps_availqty > $t2.sum_quantity
+distinct by $pst1.ps_suppkey
+return {"ps_suppkey": $pst1.ps_suppkey}
+)
+
+for $t4 in (
+	for $n in dataset('Nation')
+	for $s in dataset('Supplier')
+		where  $s.s_nationkey = $n.n_nationkey
+	return {"s_name": $s.s_name, "s_address": $s.s_address, "s_suppkey": $s.s_suppkey}
+)
+
+where $t3.ps_suppkey = $t4.s_suppkey
+order by $t4.s_name
+return {"s_name": $t4.s_name, "s_address": $t4.s_address}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q21_suppliers_who_kept_orders_waiting/q21_suppliers_who_kept_orders_waiting.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q21_suppliers_who_kept_orders_waiting/q21_suppliers_who_kept_orders_waiting.1.ddl.aql
new file mode 100644
index 0000000..5231e76
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q21_suppliers_who_kept_orders_waiting/q21_suppliers_who_kept_orders_waiting.1.ddl.aql
@@ -0,0 +1,88 @@
+drop dataverse tpch if exists;
+create dataverse tpch;
+
+create type LineItemType as closed {
+  l_orderkey: int32, 
+  l_partkey: int32, 
+  l_suppkey: int32, 
+  l_linenumber: int32, 
+  l_quantity: int32, 
+  l_extendedprice: double,
+  l_discount: double, 
+  l_tax: double,
+  l_returnflag: string, 
+  l_linestatus: string, 
+  l_shipdate: string,
+  l_commitdate: string, 
+  l_receiptdate: string, 
+  l_shipinstruct: string, 
+  l_shipmode: string, 
+  l_comment: string
+}
+
+create type OrderType as closed {
+  o_orderkey: int32, 
+  o_custkey: int32, 
+  o_orderstatus: string, 
+  o_totalprice: double, 
+  o_orderdate: string, 
+  o_orderpriority: string,
+  o_clerk: string, 
+  o_shippriority: int32, 
+  o_comment: string
+}
+
+create type CustomerType as closed {
+  c_custkey: int32, 
+  c_name: string, 
+  c_address: string, 
+  c_nationkey: int32, 
+  c_phone: string, 
+  c_acctbal: double, 
+  c_mktsegment: string,
+  c_comment: string
+}
+
+create type SupplierType as closed {
+  s_suppkey: int32, 
+  s_name: string,
+  s_address: string,
+  s_nationkey: int32,
+  s_phone: string,
+  s_acctbal: double,
+  s_comment: string
+}
+
+create type NationType as closed {
+  n_nationkey: int32,
+  n_name: string,
+  n_regionkey: int32,
+  n_comment: string
+}
+
+create type RegionType as closed {
+	r_regionkey: int32, 
+	r_name: string, 
+	r_comment: string
+} 
+
+create type PartType as closed {
+  p_partkey: int32, 
+  p_name: string, 
+  p_mfgr: string,
+  p_brand: string,
+  p_type: string,
+  p_size: int32,
+  p_container: string,
+  p_retailprice: double,
+  p_comment: string
+}
+
+create type PartSuppType as closed {
+  ps_partkey: int32, 
+  ps_suppkey: int32,
+  ps_availqty: int32,
+  ps_supplycost: double,
+  ps_comment: string 
+}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q21_suppliers_who_kept_orders_waiting/q21_suppliers_who_kept_orders_waiting.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q21_suppliers_who_kept_orders_waiting/q21_suppliers_who_kept_orders_waiting.2.update.aql
new file mode 100644
index 0000000..2d70882
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q21_suppliers_who_kept_orders_waiting/q21_suppliers_who_kept_orders_waiting.2.update.aql
@@ -0,0 +1,51 @@
+use dataverse tpch;
+
+create dataset LineItem(LineItemType)
+  primary key l_orderkey, l_linenumber;
+create dataset Orders(OrderType)
+  primary key o_orderkey;
+create dataset Supplier(SupplierType)
+  primary key s_suppkey;
+create dataset Region(RegionType) 
+  primary key r_regionkey;
+create dataset Nation(NationType) 
+  primary key n_nationkey;
+create dataset Part(PartType)
+  primary key p_partkey;
+create dataset Partsupp(PartSuppType)
+  primary key ps_partkey, ps_suppkey;  
+create dataset Customer(CustomerType) 
+  primary key c_custkey;
+
+load dataset LineItem 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Orders 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Supplier 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Region 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Nation 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Part 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Partsupp 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Customer 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q21_suppliers_who_kept_orders_waiting/q21_suppliers_who_kept_orders_waiting.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q21_suppliers_who_kept_orders_waiting/q21_suppliers_who_kept_orders_waiting.3.query.aql
new file mode 100644
index 0000000..eb94678
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q21_suppliers_who_kept_orders_waiting/q21_suppliers_who_kept_orders_waiting.3.query.aql
@@ -0,0 +1,78 @@
+use dataverse tpch;
+
+declare function tmp1()
+{
+for $l2 in 
+(
+	for $l in dataset('LineItem')
+	group by $l_orderkey1 := $l.l_orderkey, $l_suppkey1 := $l.l_suppkey with $l
+	return {
+		"l_orderkey": $l_orderkey1,
+		"l_suppkey": $l_suppkey1
+		} 
+)
+group by $l_orderkey := $l2.l_orderkey with $l2
+return {
+	"l_orderkey": $l_orderkey, 
+	"count_suppkey": count(for $i in $l2 return $i.l_suppkey), 
+	"max_suppkey": max(for $i in $l2 return $i.l_suppkey)
+}
+}
+
+declare function tmp2()
+{
+for $l2 in 
+(
+	for $l in dataset('LineItem')
+	where $l.l_receiptdate > $l.l_commitdate
+	group by $l_orderkey1 := $l.l_orderkey, $l_suppkey1 := $l.l_suppkey with $l
+	return {
+		"l_orderkey": $l_orderkey1,
+		"l_suppkey": $l_suppkey1
+		} 
+)
+group by $l_orderkey := $l2.l_orderkey with $l2
+return {
+"l_orderkey": $l_orderkey, 
+"count_suppkey": count(for $i in $l2 return $i.l_suppkey), 
+"max_suppkey": max(for $i in $l2 return $i.l_suppkey)
+}
+}
+
+for $t4 in (
+for $t3 in (
+	for $l in dataset('LineItem')
+	for $ns in (
+		for $n in dataset('Nation')
+		for $s in dataset('Supplier')
+			where $s.s_nationkey = $n.n_nationkey
+		return {"s_name": $s.s_name, "s_suppkey": $s.s_suppkey}
+	)
+	where $ns.s_suppkey = $l.l_suppkey and $l.l_receiptdate > $l.l_commitdate
+
+	for $o in dataset('Orders')
+	where $o.o_orderkey = $l.l_orderkey
+
+	for $t1 in tmp1()
+	where $l.l_orderkey = $t1.l_orderkey
+	
+	return {"s_name": $ns.s_name, "l_orderkey": $t1.l_orderkey, "l_suppkey": $l.l_suppkey}
+)
+
+for $t2 in tmp2() 
+			where $t2.count_suppkey >= 0 and $t3.l_orderkey = $t2.l_orderkey
+			
+return {
+"s_name": $t3.s_name,
+"l_suppkey": $t3.l_suppkey,
+"l_orderkey": $t2.l_orderkey,
+"count_suppkey": $t2.count_suppkey, 
+"max_suppkey": $t2.max_suppkey
+} )
+group by $s_name := $t4.s_name with $t4
+let $numwait := count($t4)
+order by $numwait desc, $s_name
+return {
+"s_name": $s_name,
+"numwait": $numwait
+}
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q22_global_sales_opportunity/q22_global_sales_opportunity.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q22_global_sales_opportunity/q22_global_sales_opportunity.1.ddl.aql
new file mode 100644
index 0000000..5231e76
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q22_global_sales_opportunity/q22_global_sales_opportunity.1.ddl.aql
@@ -0,0 +1,88 @@
+drop dataverse tpch if exists;
+create dataverse tpch;
+
+create type LineItemType as closed {
+  l_orderkey: int32, 
+  l_partkey: int32, 
+  l_suppkey: int32, 
+  l_linenumber: int32, 
+  l_quantity: int32, 
+  l_extendedprice: double,
+  l_discount: double, 
+  l_tax: double,
+  l_returnflag: string, 
+  l_linestatus: string, 
+  l_shipdate: string,
+  l_commitdate: string, 
+  l_receiptdate: string, 
+  l_shipinstruct: string, 
+  l_shipmode: string, 
+  l_comment: string
+}
+
+create type OrderType as closed {
+  o_orderkey: int32, 
+  o_custkey: int32, 
+  o_orderstatus: string, 
+  o_totalprice: double, 
+  o_orderdate: string, 
+  o_orderpriority: string,
+  o_clerk: string, 
+  o_shippriority: int32, 
+  o_comment: string
+}
+
+create type CustomerType as closed {
+  c_custkey: int32, 
+  c_name: string, 
+  c_address: string, 
+  c_nationkey: int32, 
+  c_phone: string, 
+  c_acctbal: double, 
+  c_mktsegment: string,
+  c_comment: string
+}
+
+create type SupplierType as closed {
+  s_suppkey: int32, 
+  s_name: string,
+  s_address: string,
+  s_nationkey: int32,
+  s_phone: string,
+  s_acctbal: double,
+  s_comment: string
+}
+
+create type NationType as closed {
+  n_nationkey: int32,
+  n_name: string,
+  n_regionkey: int32,
+  n_comment: string
+}
+
+create type RegionType as closed {
+	r_regionkey: int32, 
+	r_name: string, 
+	r_comment: string
+} 
+
+create type PartType as closed {
+  p_partkey: int32, 
+  p_name: string, 
+  p_mfgr: string,
+  p_brand: string,
+  p_type: string,
+  p_size: int32,
+  p_container: string,
+  p_retailprice: double,
+  p_comment: string
+}
+
+create type PartSuppType as closed {
+  ps_partkey: int32, 
+  ps_suppkey: int32,
+  ps_availqty: int32,
+  ps_supplycost: double,
+  ps_comment: string 
+}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q22_global_sales_opportunity/q22_global_sales_opportunity.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q22_global_sales_opportunity/q22_global_sales_opportunity.2.update.aql
new file mode 100644
index 0000000..2d70882
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q22_global_sales_opportunity/q22_global_sales_opportunity.2.update.aql
@@ -0,0 +1,51 @@
+use dataverse tpch;
+
+create dataset LineItem(LineItemType)
+  primary key l_orderkey, l_linenumber;
+create dataset Orders(OrderType)
+  primary key o_orderkey;
+create dataset Supplier(SupplierType)
+  primary key s_suppkey;
+create dataset Region(RegionType) 
+  primary key r_regionkey;
+create dataset Nation(NationType) 
+  primary key n_nationkey;
+create dataset Part(PartType)
+  primary key p_partkey;
+create dataset Partsupp(PartSuppType)
+  primary key ps_partkey, ps_suppkey;  
+create dataset Customer(CustomerType) 
+  primary key c_custkey;
+
+load dataset LineItem 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Orders 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Supplier 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Region 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Nation 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Part 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Partsupp 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Customer 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q22_global_sales_opportunity/q22_global_sales_opportunity.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q22_global_sales_opportunity/q22_global_sales_opportunity.3.query.aql
new file mode 100644
index 0000000..a07e4ad
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q22_global_sales_opportunity/q22_global_sales_opportunity.3.query.aql
@@ -0,0 +1,30 @@
+use dataverse tpch;
+
+declare function q22_customer_tmp(){
+for $c in dataset('Customer')
+return {
+"c_acctbal": $c.c_acctbal,
+"c_custkey": $c.c_custkey,
+"cntrycode": substring($c.c_phone, 1, 2)
+}
+}
+
+
+let $avg := avg( for $c in dataset('Customer')
+					where $c.c_acctbal > 0.00
+				 return $c.c_acctbal
+				)
+for $ct in q22_customer_tmp()
+where $ct.c_acctbal > $avg
+
+group by $cntrycode := $ct.cntrycode with $ct
+order by $cntrycode
+
+return {
+"cntrycode": $cntrycode, 
+"numcust": count($ct), 
+"totacctbal": sum(for $i in $ct return $i.c_acctbal)
+}
+
+
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q2_minimum_cost_supplier/q2_minimum_cost_supplier.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q2_minimum_cost_supplier/q2_minimum_cost_supplier.1.ddl.aql
new file mode 100644
index 0000000..5231e76
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q2_minimum_cost_supplier/q2_minimum_cost_supplier.1.ddl.aql
@@ -0,0 +1,88 @@
+drop dataverse tpch if exists;
+create dataverse tpch;
+
+create type LineItemType as closed {
+  l_orderkey: int32, 
+  l_partkey: int32, 
+  l_suppkey: int32, 
+  l_linenumber: int32, 
+  l_quantity: int32, 
+  l_extendedprice: double,
+  l_discount: double, 
+  l_tax: double,
+  l_returnflag: string, 
+  l_linestatus: string, 
+  l_shipdate: string,
+  l_commitdate: string, 
+  l_receiptdate: string, 
+  l_shipinstruct: string, 
+  l_shipmode: string, 
+  l_comment: string
+}
+
+create type OrderType as closed {
+  o_orderkey: int32, 
+  o_custkey: int32, 
+  o_orderstatus: string, 
+  o_totalprice: double, 
+  o_orderdate: string, 
+  o_orderpriority: string,
+  o_clerk: string, 
+  o_shippriority: int32, 
+  o_comment: string
+}
+
+create type CustomerType as closed {
+  c_custkey: int32, 
+  c_name: string, 
+  c_address: string, 
+  c_nationkey: int32, 
+  c_phone: string, 
+  c_acctbal: double, 
+  c_mktsegment: string,
+  c_comment: string
+}
+
+create type SupplierType as closed {
+  s_suppkey: int32, 
+  s_name: string,
+  s_address: string,
+  s_nationkey: int32,
+  s_phone: string,
+  s_acctbal: double,
+  s_comment: string
+}
+
+create type NationType as closed {
+  n_nationkey: int32,
+  n_name: string,
+  n_regionkey: int32,
+  n_comment: string
+}
+
+create type RegionType as closed {
+	r_regionkey: int32, 
+	r_name: string, 
+	r_comment: string
+} 
+
+create type PartType as closed {
+  p_partkey: int32, 
+  p_name: string, 
+  p_mfgr: string,
+  p_brand: string,
+  p_type: string,
+  p_size: int32,
+  p_container: string,
+  p_retailprice: double,
+  p_comment: string
+}
+
+create type PartSuppType as closed {
+  ps_partkey: int32, 
+  ps_suppkey: int32,
+  ps_availqty: int32,
+  ps_supplycost: double,
+  ps_comment: string 
+}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q2_minimum_cost_supplier/q2_minimum_cost_supplier.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q2_minimum_cost_supplier/q2_minimum_cost_supplier.2.update.aql
new file mode 100644
index 0000000..2d70882
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q2_minimum_cost_supplier/q2_minimum_cost_supplier.2.update.aql
@@ -0,0 +1,51 @@
+use dataverse tpch;
+
+create dataset LineItem(LineItemType)
+  primary key l_orderkey, l_linenumber;
+create dataset Orders(OrderType)
+  primary key o_orderkey;
+create dataset Supplier(SupplierType)
+  primary key s_suppkey;
+create dataset Region(RegionType) 
+  primary key r_regionkey;
+create dataset Nation(NationType) 
+  primary key n_nationkey;
+create dataset Part(PartType)
+  primary key p_partkey;
+create dataset Partsupp(PartSuppType)
+  primary key ps_partkey, ps_suppkey;  
+create dataset Customer(CustomerType) 
+  primary key c_custkey;
+
+load dataset LineItem 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Orders 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Supplier 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Region 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Nation 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Part 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Partsupp 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Customer 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q2_minimum_cost_supplier/q2_minimum_cost_supplier.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q2_minimum_cost_supplier/q2_minimum_cost_supplier.3.query.aql
new file mode 100644
index 0000000..c13dbb9
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q2_minimum_cost_supplier/q2_minimum_cost_supplier.3.query.aql
@@ -0,0 +1,103 @@
+use dataverse tpch;
+
+declare function tmp1(){
+for $p in dataset('Part')
+for $pssrn in 
+(
+	for $ps in dataset('Partsupp')
+	for $srn in 
+		(
+		for $s in dataset('Supplier')
+		 for $rn in
+			(
+			for $r in dataset('Region')
+			for $n in dataset('Nation')
+			where $n.n_regionkey = $r.r_regionkey and $r.r_name = 'EUROPE' 
+			return {"n_nationkey": $n.n_nationkey, "n_name": $n.n_name}
+			)
+		 where $s.s_nationkey = $rn.n_nationkey
+		 return {"s_suppkey": $s.s_suppkey, "n_name": $rn.n_name,
+		 		"s_name": $s.s_name,
+		 		"s_acctbal": $s.s_acctbal,
+		 		"s_address": $s.s_address, 
+				"s_phone": $s.s_phone, 
+				"s_comment": $s.s_comment}
+		)
+	where $srn.s_suppkey = $ps.ps_suppkey
+	return {"n_name": $srn.n_name, "p_partkey": $ps.ps_partkey, "ps_supplycost": $ps.ps_supplycost,
+			"s_name": $srn.s_name,
+			"s_acctbal": $srn.s_acctbal,
+		 	"s_address":  $srn.s_address, 
+			"s_phone":  $srn.s_phone, 
+			"s_comment":  $srn.s_comment}
+) 
+where $p.p_partkey = $pssrn.p_partkey and like($p.p_type, '%BRASS') 
+return 
+{"s_acctbal": $pssrn.s_acctbal, 
+"s_name": $pssrn.s_name, 
+"n_name": $pssrn.n_name, 
+"p_partkey": $p.p_partkey, 
+"ps_supplycost": $pssrn.ps_supplycost, 
+"p_mfgr": $p.p_mfgr, 
+"s_address":  $pssrn.s_address, 
+"s_phone":  $pssrn.s_phone, 
+"s_comment":  $pssrn.s_comment
+}
+}
+
+declare function tmp2(){
+for $p in dataset('Part')
+for $pssrn in 
+(
+	for $ps in dataset('Partsupp')
+	for $srn in 
+		(
+		for $s in dataset('Supplier')
+		 for $rn in
+			(
+			for $r in dataset('Region')
+			for $n in dataset('Nation')
+			where $n.n_regionkey = $r.r_regionkey and $r.r_name = 'EUROPE' 
+			return {"n_nationkey": $n.n_nationkey, "n_name": $n.n_name}
+			)
+		 where $s.s_nationkey = $rn.n_nationkey
+		 return {"s_suppkey": $s.s_suppkey, "n_name": $rn.n_name,
+		 		"s_name": $s.s_name,
+		 		"s_acctbal": $s.s_acctbal,
+		 		"s_address": $s.s_address, 
+				"s_phone": $s.s_phone, 
+				"s_comment": $s.s_comment}
+		)
+	where $srn.s_suppkey = $ps.ps_suppkey
+	return {"n_name": $srn.n_name, "p_partkey": $ps.ps_partkey, "ps_supplycost": $ps.ps_supplycost,
+			"s_name": $srn.s_name,
+			"s_acctbal": $srn.s_acctbal,
+		 	"s_address":  $srn.s_address, 
+			"s_phone":  $srn.s_phone, 
+			"s_comment":  $srn.s_comment}
+)
+where $p.p_partkey = $pssrn.p_partkey and like($p.p_type, '%BRASS') 
+/*+ hash*/
+group by $p_partkey := $pssrn.p_partkey
+with $pssrn
+return {"p_partkey": $p_partkey, 
+"ps_min_supplycost": min(for $i in $pssrn return $i.ps_supplycost)
+}
+}
+
+for $t2 in tmp2()
+for $t1 in tmp1()
+where $t1.p_partkey = $t2.p_partkey and $t1.ps_supplycost = $t2.ps_min_supplycost
+order by $t1.s_acctbal desc, $t1.n_name, $t1.s_name, $t1.p_partkey
+limit 100
+return 
+{
+"s_acctbal":$t1.s_acctbal, 
+"s_name":$t1.s_name, 
+"n_name":$t1.n_name, 
+"p_partkey":$t1.p_partkey, 
+"p_mfgr":$t1.p_mfgr, 
+"s_address":$t1.s_address, 
+"s_phone":$t1.s_phone, 
+"s_comment":$t1.s_comment
+} 
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q3_shipping_priority_nt/q3_shipping_priority_nt.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q3_shipping_priority_nt/q3_shipping_priority_nt.1.ddl.aql
new file mode 100644
index 0000000..5231e76
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q3_shipping_priority_nt/q3_shipping_priority_nt.1.ddl.aql
@@ -0,0 +1,88 @@
+drop dataverse tpch if exists;
+create dataverse tpch;
+
+create type LineItemType as closed {
+  l_orderkey: int32, 
+  l_partkey: int32, 
+  l_suppkey: int32, 
+  l_linenumber: int32, 
+  l_quantity: int32, 
+  l_extendedprice: double,
+  l_discount: double, 
+  l_tax: double,
+  l_returnflag: string, 
+  l_linestatus: string, 
+  l_shipdate: string,
+  l_commitdate: string, 
+  l_receiptdate: string, 
+  l_shipinstruct: string, 
+  l_shipmode: string, 
+  l_comment: string
+}
+
+create type OrderType as closed {
+  o_orderkey: int32, 
+  o_custkey: int32, 
+  o_orderstatus: string, 
+  o_totalprice: double, 
+  o_orderdate: string, 
+  o_orderpriority: string,
+  o_clerk: string, 
+  o_shippriority: int32, 
+  o_comment: string
+}
+
+create type CustomerType as closed {
+  c_custkey: int32, 
+  c_name: string, 
+  c_address: string, 
+  c_nationkey: int32, 
+  c_phone: string, 
+  c_acctbal: double, 
+  c_mktsegment: string,
+  c_comment: string
+}
+
+create type SupplierType as closed {
+  s_suppkey: int32, 
+  s_name: string,
+  s_address: string,
+  s_nationkey: int32,
+  s_phone: string,
+  s_acctbal: double,
+  s_comment: string
+}
+
+create type NationType as closed {
+  n_nationkey: int32,
+  n_name: string,
+  n_regionkey: int32,
+  n_comment: string
+}
+
+create type RegionType as closed {
+	r_regionkey: int32, 
+	r_name: string, 
+	r_comment: string
+} 
+
+create type PartType as closed {
+  p_partkey: int32, 
+  p_name: string, 
+  p_mfgr: string,
+  p_brand: string,
+  p_type: string,
+  p_size: int32,
+  p_container: string,
+  p_retailprice: double,
+  p_comment: string
+}
+
+create type PartSuppType as closed {
+  ps_partkey: int32, 
+  ps_suppkey: int32,
+  ps_availqty: int32,
+  ps_supplycost: double,
+  ps_comment: string 
+}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q3_shipping_priority_nt/q3_shipping_priority_nt.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q3_shipping_priority_nt/q3_shipping_priority_nt.2.update.aql
new file mode 100644
index 0000000..9ab931f
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q3_shipping_priority_nt/q3_shipping_priority_nt.2.update.aql
@@ -0,0 +1,31 @@
+use dataverse tpch;
+
+create dataset LineItem(LineItemType)
+  primary key l_orderkey, l_linenumber;
+create dataset Orders(OrderType)
+  primary key o_orderkey;
+create dataset Supplier(SupplierType)
+  primary key s_suppkey;
+create dataset Region(RegionType) 
+  primary key r_regionkey;
+create dataset Nation(NationType) 
+  primary key n_nationkey;
+create dataset Part(PartType)
+  primary key p_partkey;
+create dataset Partsupp(PartSuppType)
+  primary key ps_partkey, ps_suppkey;  
+create dataset Customer(CustomerType) 
+  primary key c_custkey;
+
+load dataset LineItem 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Orders 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Customer 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q3_shipping_priority_nt/q3_shipping_priority_nt.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q3_shipping_priority_nt/q3_shipping_priority_nt.3.query.aql
new file mode 100644
index 0000000..1c958cd
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q3_shipping_priority_nt/q3_shipping_priority_nt.3.query.aql
@@ -0,0 +1,26 @@
+use dataverse tpch;
+
+for $c in dataset('Customer')
+for $o in dataset('Orders')
+where
+  $c.c_mktsegment = 'BUILDING' and $c.c_custkey = $o.o_custkey 
+for $l in dataset('LineItem')
+where
+  $l.l_orderkey = $o.o_orderkey and
+  $o.o_orderdate < '1995-03-15' and $l.l_shipdate > '1995-03-15'
+/*+ hash*/
+group by $l_orderkey := $l.l_orderkey, $o_orderdate := $o.o_orderdate, $o_shippriority := $o.o_shippriority
+  with $l
+let $revenue := sum (
+  for $i in $l 
+  return 
+    $i.l_extendedprice * (1 - $i.l_discount)
+)
+order by $revenue desc, $o_orderdate
+limit 10
+return {  
+  "l_orderkey": $l_orderkey,
+  "revenue": $revenue,
+  "o_orderdate": $o_orderdate,
+  "o_shippriority": $o_shippriority 
+}
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q4_order_priority/q4_order_priority.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q4_order_priority/q4_order_priority.1.ddl.aql
new file mode 100644
index 0000000..5231e76
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q4_order_priority/q4_order_priority.1.ddl.aql
@@ -0,0 +1,88 @@
+drop dataverse tpch if exists;
+create dataverse tpch;
+
+create type LineItemType as closed {
+  l_orderkey: int32, 
+  l_partkey: int32, 
+  l_suppkey: int32, 
+  l_linenumber: int32, 
+  l_quantity: int32, 
+  l_extendedprice: double,
+  l_discount: double, 
+  l_tax: double,
+  l_returnflag: string, 
+  l_linestatus: string, 
+  l_shipdate: string,
+  l_commitdate: string, 
+  l_receiptdate: string, 
+  l_shipinstruct: string, 
+  l_shipmode: string, 
+  l_comment: string
+}
+
+create type OrderType as closed {
+  o_orderkey: int32, 
+  o_custkey: int32, 
+  o_orderstatus: string, 
+  o_totalprice: double, 
+  o_orderdate: string, 
+  o_orderpriority: string,
+  o_clerk: string, 
+  o_shippriority: int32, 
+  o_comment: string
+}
+
+create type CustomerType as closed {
+  c_custkey: int32, 
+  c_name: string, 
+  c_address: string, 
+  c_nationkey: int32, 
+  c_phone: string, 
+  c_acctbal: double, 
+  c_mktsegment: string,
+  c_comment: string
+}
+
+create type SupplierType as closed {
+  s_suppkey: int32, 
+  s_name: string,
+  s_address: string,
+  s_nationkey: int32,
+  s_phone: string,
+  s_acctbal: double,
+  s_comment: string
+}
+
+create type NationType as closed {
+  n_nationkey: int32,
+  n_name: string,
+  n_regionkey: int32,
+  n_comment: string
+}
+
+create type RegionType as closed {
+	r_regionkey: int32, 
+	r_name: string, 
+	r_comment: string
+} 
+
+create type PartType as closed {
+  p_partkey: int32, 
+  p_name: string, 
+  p_mfgr: string,
+  p_brand: string,
+  p_type: string,
+  p_size: int32,
+  p_container: string,
+  p_retailprice: double,
+  p_comment: string
+}
+
+create type PartSuppType as closed {
+  ps_partkey: int32, 
+  ps_suppkey: int32,
+  ps_availqty: int32,
+  ps_supplycost: double,
+  ps_comment: string 
+}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q4_order_priority/q4_order_priority.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q4_order_priority/q4_order_priority.2.update.aql
new file mode 100644
index 0000000..2d70882
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q4_order_priority/q4_order_priority.2.update.aql
@@ -0,0 +1,51 @@
+use dataverse tpch;
+
+create dataset LineItem(LineItemType)
+  primary key l_orderkey, l_linenumber;
+create dataset Orders(OrderType)
+  primary key o_orderkey;
+create dataset Supplier(SupplierType)
+  primary key s_suppkey;
+create dataset Region(RegionType) 
+  primary key r_regionkey;
+create dataset Nation(NationType) 
+  primary key n_nationkey;
+create dataset Part(PartType)
+  primary key p_partkey;
+create dataset Partsupp(PartSuppType)
+  primary key ps_partkey, ps_suppkey;  
+create dataset Customer(CustomerType) 
+  primary key c_custkey;
+
+load dataset LineItem 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Orders 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Supplier 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Region 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Nation 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Part 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Partsupp 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Customer 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q4_order_priority/q4_order_priority.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q4_order_priority/q4_order_priority.3.query.aql
new file mode 100644
index 0000000..4079a25
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q4_order_priority/q4_order_priority.3.query.aql
@@ -0,0 +1,24 @@
+use dataverse tpch;
+
+declare function tmp()
+{
+for $l in dataset('LineItem')
+where $l.l_commitdate<$l.l_receiptdate
+distinct by $l.l_orderkey
+return {"o_orderkey": $l.l_orderkey}
+}
+
+for $o in dataset('Orders')
+for $t in tmp()
+where
+$o.o_orderkey = $t.o_orderkey and 
+$o.o_orderdate >= '1993-07-01' and $o.o_orderdate < '1993-10-01' 
+group by $o_orderpriority := $o.o_orderpriority 
+with $o
+order by $o_orderpriority
+return 
+{
+"order_priority": $o_orderpriority,
+"count": count($o)
+}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q5_local_supplier_volume/q5_local_supplier_volume.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q5_local_supplier_volume/q5_local_supplier_volume.1.ddl.aql
new file mode 100644
index 0000000..6a49c45
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q5_local_supplier_volume/q5_local_supplier_volume.1.ddl.aql
@@ -0,0 +1,88 @@
+drop dataverse tpch if exists;
+create dataverse tpch;
+  
+create type LineItemType as closed {
+  l_orderkey: int32, 
+  l_partkey: int32, 
+  l_suppkey: int32, 
+  l_linenumber: int32, 
+  l_quantity: int32, 
+  l_extendedprice: double,
+  l_discount: double, 
+  l_tax: double,
+  l_returnflag: string, 
+  l_linestatus: string, 
+  l_shipdate: string,
+  l_commitdate: string, 
+  l_receiptdate: string, 
+  l_shipinstruct: string, 
+  l_shipmode: string, 
+  l_comment: string
+}
+
+create type OrderType as closed {
+  o_orderkey: int32, 
+  o_custkey: int32, 
+  o_orderstatus: string, 
+  o_totalprice: double, 
+  o_orderdate: string, 
+  o_orderpriority: string,
+  o_clerk: string, 
+  o_shippriority: int32, 
+  o_comment: string
+}
+
+create type CustomerType as closed {
+  c_custkey: int32, 
+  c_name: string, 
+  c_address: string, 
+  c_nationkey: int32, 
+  c_phone: string, 
+  c_acctbal: double, 
+  c_mktsegment: string,
+  c_comment: string
+}
+
+create type SupplierType as closed {
+  s_suppkey: int32, 
+  s_name: string,
+  s_address: string,
+  s_nationkey: int32,
+  s_phone: string,
+  s_acctbal: double,
+  s_comment: string
+}
+
+create type NationType as closed {
+  n_nationkey: int32,
+  n_name: string,
+  n_regionkey: int32,
+  n_comment: string
+}
+
+create type RegionType as closed {
+	r_regionkey: int32, 
+	r_name: string, 
+	r_comment: string
+} 
+
+create type PartType as closed {
+  p_partkey: int32, 
+  p_name: string, 
+  p_mfgr: string,
+  p_brand: string,
+  p_type: string,
+  p_size: int32,
+  p_container: string,
+  p_retailprice: double,
+  p_comment: string
+}
+
+create type PartSuppType as closed {
+  ps_partkey: int32, 
+  ps_suppkey: int32,
+  ps_availqty: int32,
+  ps_supplycost: double,
+  ps_comment: string 
+}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q5_local_supplier_volume/q5_local_supplier_volume.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q5_local_supplier_volume/q5_local_supplier_volume.2.update.aql
new file mode 100644
index 0000000..2d70882
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q5_local_supplier_volume/q5_local_supplier_volume.2.update.aql
@@ -0,0 +1,51 @@
+use dataverse tpch;
+
+create dataset LineItem(LineItemType)
+  primary key l_orderkey, l_linenumber;
+create dataset Orders(OrderType)
+  primary key o_orderkey;
+create dataset Supplier(SupplierType)
+  primary key s_suppkey;
+create dataset Region(RegionType) 
+  primary key r_regionkey;
+create dataset Nation(NationType) 
+  primary key n_nationkey;
+create dataset Part(PartType)
+  primary key p_partkey;
+create dataset Partsupp(PartSuppType)
+  primary key ps_partkey, ps_suppkey;  
+create dataset Customer(CustomerType) 
+  primary key c_custkey;
+
+load dataset LineItem 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Orders 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Supplier 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Region 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Nation 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Part 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Partsupp 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Customer 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q5_local_supplier_volume/q5_local_supplier_volume.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q5_local_supplier_volume/q5_local_supplier_volume.3.query.aql
new file mode 100644
index 0000000..d654ce1
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q5_local_supplier_volume/q5_local_supplier_volume.3.query.aql
@@ -0,0 +1,35 @@
+use dataverse tpch;
+
+for $c in dataset('Customer')
+for $o1 in 
+(  for $o in dataset('Orders')
+   for $l1 in (
+     for $l in dataset('LineItem')
+     for $s1 in 
+     (  for $s in dataset('Supplier')
+        for $n1 in 
+        (  for $n in dataset('Nation')
+           for $r in dataset('Region')
+             where $n.n_regionkey = $r.r_regionkey
+           return 
+              {"n_name": $n.n_name, "n_nationkey": $n.n_nationkey}  )
+        where $s.s_nationkey = $n1.n_nationkey
+        return 
+           { "n_name": $n1.n_name, "s_suppkey": $s.s_suppkey, "s_nationkey": $s.s_nationkey }  )
+     where $l.l_suppkey = $s1.s_suppkey      
+     return 
+        { "n_name": $s1.n_name, "l_extendedprice": $l.l_extendedprice, "l_discount": $l.l_discount, "l_orderkey": $l.l_orderkey, "s_nationkey": $s1.s_nationkey }  )
+   where $l1.l_orderkey = $o.o_orderkey and $o.o_orderdate >= '1990-01-01' and $o.o_orderdate < '1995-01-01'
+   return 
+     { "n_name": $l1.n_name, "l_extendedprice": $l1.l_extendedprice, "l_discount": $l1.l_discount, "s_nationkey": $l1.s_nationkey, "o_custkey": $o.o_custkey }  )
+where $c.c_nationkey = $o1.s_nationkey and $c.c_custkey = $o1.o_custkey
+/*+ hash*/     
+group by $n_name := $o1.n_name with $o1
+let $revenue := sum (
+  for $i in $o1 
+  return 
+    $i.l_extendedprice * (1 - $i.l_discount)
+)
+order by $revenue desc
+return 
+  { "n_name": $n_name, "revenue": $revenue }
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q6_forecast_revenue_change/q6_forecast_revenue_change.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q6_forecast_revenue_change/q6_forecast_revenue_change.1.ddl.aql
new file mode 100644
index 0000000..5231e76
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q6_forecast_revenue_change/q6_forecast_revenue_change.1.ddl.aql
@@ -0,0 +1,88 @@
+drop dataverse tpch if exists;
+create dataverse tpch;
+
+create type LineItemType as closed {
+  l_orderkey: int32, 
+  l_partkey: int32, 
+  l_suppkey: int32, 
+  l_linenumber: int32, 
+  l_quantity: int32, 
+  l_extendedprice: double,
+  l_discount: double, 
+  l_tax: double,
+  l_returnflag: string, 
+  l_linestatus: string, 
+  l_shipdate: string,
+  l_commitdate: string, 
+  l_receiptdate: string, 
+  l_shipinstruct: string, 
+  l_shipmode: string, 
+  l_comment: string
+}
+
+create type OrderType as closed {
+  o_orderkey: int32, 
+  o_custkey: int32, 
+  o_orderstatus: string, 
+  o_totalprice: double, 
+  o_orderdate: string, 
+  o_orderpriority: string,
+  o_clerk: string, 
+  o_shippriority: int32, 
+  o_comment: string
+}
+
+create type CustomerType as closed {
+  c_custkey: int32, 
+  c_name: string, 
+  c_address: string, 
+  c_nationkey: int32, 
+  c_phone: string, 
+  c_acctbal: double, 
+  c_mktsegment: string,
+  c_comment: string
+}
+
+create type SupplierType as closed {
+  s_suppkey: int32, 
+  s_name: string,
+  s_address: string,
+  s_nationkey: int32,
+  s_phone: string,
+  s_acctbal: double,
+  s_comment: string
+}
+
+create type NationType as closed {
+  n_nationkey: int32,
+  n_name: string,
+  n_regionkey: int32,
+  n_comment: string
+}
+
+create type RegionType as closed {
+	r_regionkey: int32, 
+	r_name: string, 
+	r_comment: string
+} 
+
+create type PartType as closed {
+  p_partkey: int32, 
+  p_name: string, 
+  p_mfgr: string,
+  p_brand: string,
+  p_type: string,
+  p_size: int32,
+  p_container: string,
+  p_retailprice: double,
+  p_comment: string
+}
+
+create type PartSuppType as closed {
+  ps_partkey: int32, 
+  ps_suppkey: int32,
+  ps_availqty: int32,
+  ps_supplycost: double,
+  ps_comment: string 
+}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q6_forecast_revenue_change/q6_forecast_revenue_change.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q6_forecast_revenue_change/q6_forecast_revenue_change.2.update.aql
new file mode 100644
index 0000000..2d70882
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q6_forecast_revenue_change/q6_forecast_revenue_change.2.update.aql
@@ -0,0 +1,51 @@
+use dataverse tpch;
+
+create dataset LineItem(LineItemType)
+  primary key l_orderkey, l_linenumber;
+create dataset Orders(OrderType)
+  primary key o_orderkey;
+create dataset Supplier(SupplierType)
+  primary key s_suppkey;
+create dataset Region(RegionType) 
+  primary key r_regionkey;
+create dataset Nation(NationType) 
+  primary key n_nationkey;
+create dataset Part(PartType)
+  primary key p_partkey;
+create dataset Partsupp(PartSuppType)
+  primary key ps_partkey, ps_suppkey;  
+create dataset Customer(CustomerType) 
+  primary key c_custkey;
+
+load dataset LineItem 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Orders 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Supplier 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Region 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Nation 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Part 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Partsupp 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Customer 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q6_forecast_revenue_change/q6_forecast_revenue_change.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q6_forecast_revenue_change/q6_forecast_revenue_change.3.query.aql
new file mode 100644
index 0000000..8ac1613
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q6_forecast_revenue_change/q6_forecast_revenue_change.3.query.aql
@@ -0,0 +1,14 @@
+use dataverse tpch;
+
+let $revenue := sum(
+for $l in dataset('LineItem')
+where 
+  $l.l_shipdate >= '1994-01-01'
+  and $l.l_shipdate < '1995-01-01'
+  and $l.l_discount >= 0.05 and $l.l_discount <= 0.07
+  and $l.l_quantity < 24
+return $l.l_extendedprice * $l.l_discount
+)
+return {
+"revenue": $revenue
+}
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q7_volume_shipping/q7_volume_shipping.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q7_volume_shipping/q7_volume_shipping.1.ddl.aql
new file mode 100644
index 0000000..5231e76
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q7_volume_shipping/q7_volume_shipping.1.ddl.aql
@@ -0,0 +1,88 @@
+drop dataverse tpch if exists;
+create dataverse tpch;
+
+create type LineItemType as closed {
+  l_orderkey: int32, 
+  l_partkey: int32, 
+  l_suppkey: int32, 
+  l_linenumber: int32, 
+  l_quantity: int32, 
+  l_extendedprice: double,
+  l_discount: double, 
+  l_tax: double,
+  l_returnflag: string, 
+  l_linestatus: string, 
+  l_shipdate: string,
+  l_commitdate: string, 
+  l_receiptdate: string, 
+  l_shipinstruct: string, 
+  l_shipmode: string, 
+  l_comment: string
+}
+
+create type OrderType as closed {
+  o_orderkey: int32, 
+  o_custkey: int32, 
+  o_orderstatus: string, 
+  o_totalprice: double, 
+  o_orderdate: string, 
+  o_orderpriority: string,
+  o_clerk: string, 
+  o_shippriority: int32, 
+  o_comment: string
+}
+
+create type CustomerType as closed {
+  c_custkey: int32, 
+  c_name: string, 
+  c_address: string, 
+  c_nationkey: int32, 
+  c_phone: string, 
+  c_acctbal: double, 
+  c_mktsegment: string,
+  c_comment: string
+}
+
+create type SupplierType as closed {
+  s_suppkey: int32, 
+  s_name: string,
+  s_address: string,
+  s_nationkey: int32,
+  s_phone: string,
+  s_acctbal: double,
+  s_comment: string
+}
+
+create type NationType as closed {
+  n_nationkey: int32,
+  n_name: string,
+  n_regionkey: int32,
+  n_comment: string
+}
+
+create type RegionType as closed {
+	r_regionkey: int32, 
+	r_name: string, 
+	r_comment: string
+} 
+
+create type PartType as closed {
+  p_partkey: int32, 
+  p_name: string, 
+  p_mfgr: string,
+  p_brand: string,
+  p_type: string,
+  p_size: int32,
+  p_container: string,
+  p_retailprice: double,
+  p_comment: string
+}
+
+create type PartSuppType as closed {
+  ps_partkey: int32, 
+  ps_suppkey: int32,
+  ps_availqty: int32,
+  ps_supplycost: double,
+  ps_comment: string 
+}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q7_volume_shipping/q7_volume_shipping.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q7_volume_shipping/q7_volume_shipping.2.update.aql
new file mode 100644
index 0000000..0adc8e1
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q7_volume_shipping/q7_volume_shipping.2.update.aql
@@ -0,0 +1,34 @@
+use dataverse tpch;
+
+load dataset LineItem 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Orders 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Supplier 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Region 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Nation 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Part 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Partsupp 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Customer 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q7_volume_shipping/q7_volume_shipping.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q7_volume_shipping/q7_volume_shipping.3.query.aql
new file mode 100644
index 0000000..58515b8
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q7_volume_shipping/q7_volume_shipping.3.query.aql
@@ -0,0 +1,70 @@
+use dataverse tpch;
+
+declare function q7_volume_shipping_tmp(){
+for $n1 in dataset('Nation') 
+for $n2 in dataset('Nation')
+   where $n2.n_name='GERMANY' or $n1.n_name='GERMANY' 
+return 
+{
+ 	"supp_nation": $n1.n_name, 
+ 	"cust_nation": $n2.n_name, 
+ 	"s_nationkey": $n1.n_nationkey,      
+    "c_nationkey": $n2.n_nationkey
+}
+}
+
+for $locs in (
+	for $loc in (
+		for $lo in 
+		(
+			for $l in dataset('LineItem')
+			for $o in dataset('Orders')
+			where 
+				$o.o_orderkey = $l.l_orderkey and $l.l_shipdate >= '1992-01-01' 
+				and $l.l_shipdate <= '1996-12-31'
+			return
+			{
+			"l_shipdate": $l.l_shipdate, 
+			"l_extendedprice": $l.l_extendedprice, 
+			"l_discount": $l.l_discount, 
+			"l_suppkey": $l.l_suppkey, 
+			"o_custkey": $o.o_custkey 
+			}
+		)
+		for $c in dataset('Customer')
+		where
+			$c.c_custkey = $lo.o_custkey
+		return 
+		{
+		"l_shipdate": $lo.l_shipdate, 
+		"l_extendedprice": $lo.l_extendedprice, 
+		"l_discount": $lo.l_discount, 
+		"l_suppkey": $lo.l_suppkey, 
+		"c_nationkey": $c.c_nationkey 
+		}
+	)
+	for $s in dataset('Supplier')
+	where
+		$s.s_suppkey = $loc.l_suppkey
+	return {
+	"l_shipdate": $loc.l_shipdate, 
+	"l_extendedprice": $loc.l_extendedprice, 
+	"l_discount": $loc.l_discount, 
+	"c_nationkey": $loc.c_nationkey, 
+	"s_nationkey": $s.s_nationkey
+	}
+)
+for $t in q7_volume_shipping_tmp()
+where
+	$locs.c_nationkey = $t.c_nationkey and $locs.s_nationkey = $t.s_nationkey
+let $l_year0 := year($locs.l_shipdate)
+group by $supp_nation := $t.supp_nation, $cust_nation := $t.cust_nation, $l_year := $l_year0
+with $locs
+let $revenue := sum(for $i in $locs return $i.l_extendedprice * (1 - $i.l_discount))
+order by $supp_nation, $cust_nation, $l_year
+return {
+	"supp_nation": $supp_nation, 
+	"cust_nation": $cust_nation, 
+	"l_year": $l_year,
+	"revenue": $revenue
+}
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q8_national_market_share/q8_national_market_share.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q8_national_market_share/q8_national_market_share.1.ddl.aql
new file mode 100644
index 0000000..5231e76
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q8_national_market_share/q8_national_market_share.1.ddl.aql
@@ -0,0 +1,88 @@
+drop dataverse tpch if exists;
+create dataverse tpch;
+
+create type LineItemType as closed {
+  l_orderkey: int32, 
+  l_partkey: int32, 
+  l_suppkey: int32, 
+  l_linenumber: int32, 
+  l_quantity: int32, 
+  l_extendedprice: double,
+  l_discount: double, 
+  l_tax: double,
+  l_returnflag: string, 
+  l_linestatus: string, 
+  l_shipdate: string,
+  l_commitdate: string, 
+  l_receiptdate: string, 
+  l_shipinstruct: string, 
+  l_shipmode: string, 
+  l_comment: string
+}
+
+create type OrderType as closed {
+  o_orderkey: int32, 
+  o_custkey: int32, 
+  o_orderstatus: string, 
+  o_totalprice: double, 
+  o_orderdate: string, 
+  o_orderpriority: string,
+  o_clerk: string, 
+  o_shippriority: int32, 
+  o_comment: string
+}
+
+create type CustomerType as closed {
+  c_custkey: int32, 
+  c_name: string, 
+  c_address: string, 
+  c_nationkey: int32, 
+  c_phone: string, 
+  c_acctbal: double, 
+  c_mktsegment: string,
+  c_comment: string
+}
+
+create type SupplierType as closed {
+  s_suppkey: int32, 
+  s_name: string,
+  s_address: string,
+  s_nationkey: int32,
+  s_phone: string,
+  s_acctbal: double,
+  s_comment: string
+}
+
+create type NationType as closed {
+  n_nationkey: int32,
+  n_name: string,
+  n_regionkey: int32,
+  n_comment: string
+}
+
+create type RegionType as closed {
+	r_regionkey: int32, 
+	r_name: string, 
+	r_comment: string
+} 
+
+create type PartType as closed {
+  p_partkey: int32, 
+  p_name: string, 
+  p_mfgr: string,
+  p_brand: string,
+  p_type: string,
+  p_size: int32,
+  p_container: string,
+  p_retailprice: double,
+  p_comment: string
+}
+
+create type PartSuppType as closed {
+  ps_partkey: int32, 
+  ps_suppkey: int32,
+  ps_availqty: int32,
+  ps_supplycost: double,
+  ps_comment: string 
+}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q8_national_market_share/q8_national_market_share.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q8_national_market_share/q8_national_market_share.2.update.aql
new file mode 100644
index 0000000..519fb97
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q8_national_market_share/q8_national_market_share.2.update.aql
@@ -0,0 +1,50 @@
+use dataverse tpch;
+
+create dataset LineItem(LineItemType)
+  primary key l_orderkey, l_linenumber;
+create dataset Orders(OrderType)
+  primary key o_orderkey;
+create dataset Supplier(SupplierType)
+  primary key s_suppkey;
+create dataset Region(RegionType) 
+  primary key r_regionkey;
+create dataset Nation(NationType) 
+  primary key n_nationkey;
+create dataset Part(PartType)
+  primary key p_partkey;
+create dataset Partsupp(PartSuppType)
+  primary key ps_partkey, ps_suppkey;  
+create dataset Customer(CustomerType) 
+  primary key c_custkey;
+
+load dataset LineItem 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Orders 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Supplier 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Region 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Nation 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Part 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Partsupp 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Customer 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q8_national_market_share/q8_national_market_share.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q8_national_market_share/q8_national_market_share.3.query.aql
new file mode 100644
index 0000000..7d3dd00
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q8_national_market_share/q8_national_market_share.3.query.aql
@@ -0,0 +1,72 @@
+use dataverse tpch;
+
+for $t in (
+for $slnrcop in 
+(for $s in dataset("Supplier")
+for $lnrcop in
+(
+for $lnrco in
+(
+for $l in dataset('LineItem')
+for $nrco in (
+	for $o in dataset('Orders')
+	for $nrc in (
+		for $c in dataset('Customer')
+		for $nr in (
+			for $n1 in dataset('Nation')
+			for $r1 in dataset('Region')
+				where $n1.n_regionkey = $r1.r_regionkey and $r1.r_name = 'AMERICA'
+			return {"n_nationkey": $n1.n_nationkey}
+		)
+		where $c.c_nationkey = $nr.n_nationkey
+		return {"c_custkey": $c.c_custkey}
+	)
+	where $nrc.c_custkey = $o.o_custkey
+	return {
+		"o_orderdate" : $o.o_orderdate, 
+		"o_orderkey": $o.o_orderkey 
+	}
+)
+where $l.l_orderkey = $nrco.o_orderkey and $nrco.o_orderdate >= '1995-01-01' 
+                         and $nrco.o_orderdate < '1996-12-31'
+return {
+  "o_orderdate": $nrco.o_orderdate, 
+  "l_partkey": $l.l_partkey, 
+  "l_discount": $l.l_discount, 
+  "l_extendedprice": $l.l_extendedprice, 
+  "l_suppkey": $l.l_suppkey
+})
+for $p in dataset("Part")
+where $p.p_partkey = $lnrco.l_partkey and $p.p_type = 'ECONOMY ANODIZED STEEL'
+return {
+	"o_orderdate": $lnrco.o_orderdate, 
+	"l_discount": $lnrco.l_discount, 
+	"l_extendedprice": $lnrco.l_extendedprice, 
+	"l_suppkey": $lnrco.l_suppkey 
+}
+)
+where $s.s_suppkey = $lnrcop.l_suppkey
+return {
+	"o_orderdate": $lnrcop.o_orderdate, 
+	"l_discount": $lnrcop.l_discount, 
+	"l_extendedprice": $lnrcop.l_extendedprice, 
+	"l_suppkey": $lnrcop.l_suppkey, 
+	"s_nationkey": $s.s_nationkey
+})
+
+for $n2 in dataset('Nation')
+where $slnrcop.s_nationkey = $n2.n_nationkey
+let $o_year := year($slnrcop.o_orderdate)
+return {
+  "year": $o_year,
+  "revenue": $slnrcop.l_extendedprice *(1-$slnrcop.l_discount),
+  "s_name": $n2.n_name
+})
+group by $year := $t.year with $t
+order by $year
+return {
+	"year": $year,
+	"mkt_share":sum(for $i in $t return switch-case($i.s_name='BRAZIL', true, $i.revenue, false, 0.0))/ 
+				sum(for $i in $t return $i.revenue)
+}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q9_product_type_profit_nt/q9_product_type_profit_nt.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q9_product_type_profit_nt/q9_product_type_profit_nt.1.ddl.aql
new file mode 100644
index 0000000..5231e76
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q9_product_type_profit_nt/q9_product_type_profit_nt.1.ddl.aql
@@ -0,0 +1,88 @@
+drop dataverse tpch if exists;
+create dataverse tpch;
+
+create type LineItemType as closed {
+  l_orderkey: int32, 
+  l_partkey: int32, 
+  l_suppkey: int32, 
+  l_linenumber: int32, 
+  l_quantity: int32, 
+  l_extendedprice: double,
+  l_discount: double, 
+  l_tax: double,
+  l_returnflag: string, 
+  l_linestatus: string, 
+  l_shipdate: string,
+  l_commitdate: string, 
+  l_receiptdate: string, 
+  l_shipinstruct: string, 
+  l_shipmode: string, 
+  l_comment: string
+}
+
+create type OrderType as closed {
+  o_orderkey: int32, 
+  o_custkey: int32, 
+  o_orderstatus: string, 
+  o_totalprice: double, 
+  o_orderdate: string, 
+  o_orderpriority: string,
+  o_clerk: string, 
+  o_shippriority: int32, 
+  o_comment: string
+}
+
+create type CustomerType as closed {
+  c_custkey: int32, 
+  c_name: string, 
+  c_address: string, 
+  c_nationkey: int32, 
+  c_phone: string, 
+  c_acctbal: double, 
+  c_mktsegment: string,
+  c_comment: string
+}
+
+create type SupplierType as closed {
+  s_suppkey: int32, 
+  s_name: string,
+  s_address: string,
+  s_nationkey: int32,
+  s_phone: string,
+  s_acctbal: double,
+  s_comment: string
+}
+
+create type NationType as closed {
+  n_nationkey: int32,
+  n_name: string,
+  n_regionkey: int32,
+  n_comment: string
+}
+
+create type RegionType as closed {
+	r_regionkey: int32, 
+	r_name: string, 
+	r_comment: string
+} 
+
+create type PartType as closed {
+  p_partkey: int32, 
+  p_name: string, 
+  p_mfgr: string,
+  p_brand: string,
+  p_type: string,
+  p_size: int32,
+  p_container: string,
+  p_retailprice: double,
+  p_comment: string
+}
+
+create type PartSuppType as closed {
+  ps_partkey: int32, 
+  ps_suppkey: int32,
+  ps_availqty: int32,
+  ps_supplycost: double,
+  ps_comment: string 
+}
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q9_product_type_profit_nt/q9_product_type_profit_nt.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q9_product_type_profit_nt/q9_product_type_profit_nt.2.update.aql
new file mode 100644
index 0000000..9cf84c3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q9_product_type_profit_nt/q9_product_type_profit_nt.2.update.aql
@@ -0,0 +1,51 @@
+use dataverse tpch;
+
+create dataset LineItem(LineItemType)
+  primary key l_orderkey, l_linenumber;
+create dataset Orders(OrderType)
+  primary key o_orderkey;
+create dataset Supplier(SupplierType)
+  primary key s_suppkey;
+create dataset Region(RegionType) 
+  primary key r_regionkey;
+create dataset Nation(NationType) 
+  primary key n_nationkey;
+create dataset Part(PartType)
+  primary key p_partkey;
+create dataset PartSupp(PartSuppType)
+  primary key ps_partkey, ps_suppkey;  
+create dataset Customer(CustomerType) 
+  primary key c_custkey;
+
+load dataset LineItem 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Orders 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Supplier 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Region 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Nation 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Part 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/part.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset PartSupp 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
+load dataset Customer 
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/tpch/q9_product_type_profit_nt/q9_product_type_profit_nt.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/tpch/q9_product_type_profit_nt/q9_product_type_profit_nt.3.query.aql
new file mode 100644
index 0000000..bd6457c
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/tpch/q9_product_type_profit_nt/q9_product_type_profit_nt.3.query.aql
@@ -0,0 +1,40 @@
+use dataverse tpch;
+                
+for $profit in 
+(  for $o in dataset('Orders')
+   for $l3 in 
+   (  for $p in dataset('Part')
+      for $l2 in 
+      (  for $ps in dataset('PartSupp')
+         for $l1 in 
+        (  for $s1 in
+            (  for $s in dataset('Supplier')
+               for $n in dataset('Nation')
+               where $n.n_nationkey = $s.s_nationkey
+               return 
+                 { "s_suppkey": $s.s_suppkey, "n_name": $n.n_name}  )
+            for $l in dataset('LineItem')
+            where $s1.s_suppkey = $l.l_suppkey       
+            return 
+              { "l_suppkey": $l.l_suppkey, "l_extendedprice": $l.l_extendedprice, "l_discount": $l.l_discount,
+                "l_quantity": $l.l_quantity, "l_partkey": $l.l_partkey, "l_orderkey": $l.l_orderkey, "n_name": $s1.n_name } )
+         where $ps.ps_suppkey = $l1.l_suppkey and $ps.ps_partkey = $l1.l_partkey       
+         return 
+           { "l_extendedprice": $l1.l_extendedprice, "l_discount": $l1.l_discount, "l_quantity": $l1.l_quantity, 
+             "l_partkey": $l1.l_partkey, "l_orderkey": $l1.l_orderkey, "n_name": $l1.n_name, "ps_supplycost": $ps.ps_supplycost }  )
+      where contains($p.p_name, 'green') and $p.p_partkey = $l2.l_partkey    
+      return 
+        { "l_extendedprice": $l2.l_extendedprice, "l_discount": $l2.l_discount, "l_quantity": $l2.l_quantity, 
+          "l_orderkey": $l2.l_orderkey, "n_name": $l2.n_name, "ps_supplycost": $l2.ps_supplycost  }  )
+   where $o.o_orderkey = $l3.l_orderkey
+   let $amount := $l3.l_extendedprice * (1 - $l3.l_discount) -  $l3.ps_supplycost * $l3.l_quantity 
+   let $o_year := year($o.o_orderdate)
+   return 
+     { "nation": $l3.n_name, "o_year": $o_year, "amount": $amount }  )
+ group by $nation := $profit.nation, $o_year := $profit.o_year with $profit
+ order by $nation, $o_year desc
+ return 
+   { "nation": $nation, 
+     "o_year": $o_year, 
+      "sum_profit": sum( for $pr in $profit return $pr.amount )  }    
+   
diff --git a/asterix-app/src/test/resources/runtimets/queries/writers/print_01/print_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/writers/print_01/print_01.1.ddl.aql
index 40d4bd0..97b4670 100644
--- a/asterix-app/src/test/resources/runtimets/queries/writers/print_01/print_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/writers/print_01/print_01.1.ddl.aql
@@ -2,9 +2,3 @@
 
 create dataverse test;
 
-use dataverse test;
-
-write output to nc1:"rttest/writers_print_01.adm" using "edu.uci.ics.hyracks.algebricks.runtime.writers.PrinterBasedWriterFactory";
-
-for $x in ["foo", "bar"]
-return $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/writers/print_01/print_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/writers/print_01/print_01.2.update.aql
index 40d4bd0..139597f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/writers/print_01/print_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/writers/print_01/print_01.2.update.aql
@@ -1,10 +1,2 @@
-drop dataverse test if exists;
 
-create dataverse test;
 
-use dataverse test;
-
-write output to nc1:"rttest/writers_print_01.adm" using "edu.uci.ics.hyracks.algebricks.runtime.writers.PrinterBasedWriterFactory";
-
-for $x in ["foo", "bar"]
-return $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/writers/print_01/print_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/writers/print_01/print_01.3.query.aql
index 40d4bd0..9af03ea 100644
--- a/asterix-app/src/test/resources/runtimets/queries/writers/print_01/print_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/writers/print_01/print_01.3.query.aql
@@ -1,10 +1,4 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-write output to nc1:"rttest/writers_print_01.adm" using "edu.uci.ics.hyracks.algebricks.runtime.writers.PrinterBasedWriterFactory";
-
 for $x in ["foo", "bar"]
 return $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/writers/serialized_01/serialized_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/writers/serialized_01/serialized_01.1.ddl.aql
index 16b7b2d..97b4670 100644
--- a/asterix-app/src/test/resources/runtimets/queries/writers/serialized_01/serialized_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/writers/serialized_01/serialized_01.1.ddl.aql
@@ -2,9 +2,3 @@
 
 create dataverse test;
 
-use dataverse test;
-
-write output to nc1:"rttest/writers_serialized_01.adm" using "edu.uci.ics.hyracks.algebricks.runtime.writers.SerializedDataWriterFactory";
-
-for $x in ["foo", "bar"]
-return $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/writers/serialized_01/serialized_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/writers/serialized_01/serialized_01.2.update.aql
index 16b7b2d..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/writers/serialized_01/serialized_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/writers/serialized_01/serialized_01.2.update.aql
@@ -1,10 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/writers_serialized_01.adm" using "edu.uci.ics.hyracks.algebricks.runtime.writers.SerializedDataWriterFactory";
-
-for $x in ["foo", "bar"]
-return $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/writers/serialized_01/serialized_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/writers/serialized_01/serialized_01.3.query.aql
index 16b7b2d..9af03ea 100644
--- a/asterix-app/src/test/resources/runtimets/queries/writers/serialized_01/serialized_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/writers/serialized_01/serialized_01.3.query.aql
@@ -1,10 +1,4 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-write output to nc1:"rttest/writers_serialized_01.adm" using "edu.uci.ics.hyracks.algebricks.runtime.writers.SerializedDataWriterFactory";
-
 for $x in ["foo", "bar"]
 return $x
diff --git a/asterix-app/src/test/resources/runtimets/results/boolean/nd_01/nd_01.1.adm b/asterix-app/src/test/resources/runtimets/results/boolean/and_01/and_01.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/boolean/nd_01/nd_01.1.adm
rename to asterix-app/src/test/resources/runtimets/results/boolean/and_01/and_01.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/boolean/nd_null/nd_null.1.adm b/asterix-app/src/test/resources/runtimets/results/boolean/and_null/and_null.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/boolean/nd_null/nd_null.1.adm
rename to asterix-app/src/test/resources/runtimets/results/boolean/and_null/and_null.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/boolean/nd_null_false/nd_null_false.1.adm b/asterix-app/src/test/resources/runtimets/results/boolean/and_null_false/and_null_false.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/boolean/nd_null_false/nd_null_false.1.adm
rename to asterix-app/src/test/resources/runtimets/results/boolean/and_null_false/and_null_false.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/constructor/-null/-null.1.adm b/asterix-app/src/test/resources/runtimets/results/constructor/add-null/add-null.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/constructor/-null/-null.1.adm
rename to asterix-app/src/test/resources/runtimets/results/constructor/add-null/add-null.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/constructor/te_01/te_01.1.adm b/asterix-app/src/test/resources/runtimets/results/constructor/date_01/date_01.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/constructor/te_01/te_01.1.adm
rename to asterix-app/src/test/resources/runtimets/results/constructor/date_01/date_01.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/constructor/tetime_01/tetime_01.1.adm b/asterix-app/src/test/resources/runtimets/results/constructor/datetime_01/datetime_01.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/constructor/tetime_01/tetime_01.1.adm
rename to asterix-app/src/test/resources/runtimets/results/constructor/datetime_01/datetime_01.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/constructor/ouble_01/ouble_01.1.adm b/asterix-app/src/test/resources/runtimets/results/constructor/double_01/double_01.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/constructor/ouble_01/ouble_01.1.adm
rename to asterix-app/src/test/resources/runtimets/results/constructor/double_01/double_01.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/constructor/uration_01/uration_01.1.adm b/asterix-app/src/test/resources/runtimets/results/constructor/duration_01/duration_01.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/constructor/uration_01/uration_01.1.adm
rename to asterix-app/src/test/resources/runtimets/results/constructor/duration_01/duration_01.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/custord/enorm-cust-order_02/enorm-cust-order_02.1.adm b/asterix-app/src/test/resources/runtimets/results/custord/denorm-cust-order_02/denorm-cust-order_02.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/custord/enorm-cust-order_02/enorm-cust-order_02.1.adm
rename to asterix-app/src/test/resources/runtimets/results/custord/denorm-cust-order_02/denorm-cust-order_02.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/dml/elete-from-loaded-dataset-with-index/elete-from-loaded-dataset-with-index.1.adm b/asterix-app/src/test/resources/runtimets/results/dml/delete-from-loaded-dataset-with-index/delete-from-loaded-dataset-with-index.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/dml/elete-from-loaded-dataset-with-index/elete-from-loaded-dataset-with-index.1.adm
rename to asterix-app/src/test/resources/runtimets/results/dml/delete-from-loaded-dataset-with-index/delete-from-loaded-dataset-with-index.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/dml/elete-from-loaded-dataset/elete-from-loaded-dataset.1.adm b/asterix-app/src/test/resources/runtimets/results/dml/delete-from-loaded-dataset/delete-from-loaded-dataset.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/dml/elete-from-loaded-dataset/elete-from-loaded-dataset.1.adm
rename to asterix-app/src/test/resources/runtimets/results/dml/delete-from-loaded-dataset/delete-from-loaded-dataset.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/dml/rop-empty-secondary-indexes/rop-empty-secondary-indexes.1.adm b/asterix-app/src/test/resources/runtimets/results/dml/drop-empty-secondary-indexes/drop-empty-secondary-indexes.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/dml/rop-empty-secondary-indexes/rop-empty-secondary-indexes.1.adm
rename to asterix-app/src/test/resources/runtimets/results/dml/drop-empty-secondary-indexes/drop-empty-secondary-indexes.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/dml/rop-index/rop-index.1.adm b/asterix-app/src/test/resources/runtimets/results/dml/drop-index/drop-index.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/dml/rop-index/rop-index.1.adm
rename to asterix-app/src/test/resources/runtimets/results/dml/drop-index/drop-index.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/dml/empty-lo/empty-lo.1.adm b/asterix-app/src/test/resources/runtimets/results/dml/empty-load/empty-load.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/dml/empty-lo/empty-lo.1.adm
rename to asterix-app/src/test/resources/runtimets/results/dml/empty-load/empty-load.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/dml/opentype-noexpan/opentype-noexpan.1.adm b/asterix-app/src/test/resources/runtimets/results/dml/opentype-noexpand/opentype-noexpand.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/dml/opentype-noexpan/opentype-noexpan.1.adm
rename to asterix-app/src/test/resources/runtimets/results/dml/opentype-noexpand/opentype-noexpand.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/failure/elete-rtree/elete-rtree.1.adm b/asterix-app/src/test/resources/runtimets/results/failure/delete-rtree/delete-rtree.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/failure/elete-rtree/elete-rtree.1.adm
rename to asterix-app/src/test/resources/runtimets/results/failure/delete-rtree/delete-rtree.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/failure/elete/elete.1.adm b/asterix-app/src/test/resources/runtimets/results/failure/delete/delete.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/failure/elete/elete.1.adm
rename to asterix-app/src/test/resources/runtimets/results/failure/delete/delete.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/list/ny-collection-member_01/ny-collection-member_01.1.adm b/asterix-app/src/test/resources/runtimets/results/list/any-collection-member_01/any-collection-member_01.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/list/ny-collection-member_01/ny-collection-member_01.1.adm
rename to asterix-app/src/test/resources/runtimets/results/list/any-collection-member_01/any-collection-member_01.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/numeric/bs0/bs0.1.adm b/asterix-app/src/test/resources/runtimets/results/numeric/abs0/abs0.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/numeric/bs0/bs0.1.adm
rename to asterix-app/src/test/resources/runtimets/results/numeric/abs0/abs0.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/numeric/bs1/bs1.1.adm b/asterix-app/src/test/resources/runtimets/results/numeric/abs1/abs1.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/numeric/bs1/bs1.1.adm
rename to asterix-app/src/test/resources/runtimets/results/numeric/abs1/abs1.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/numeric/bs2/bs2.1.adm b/asterix-app/src/test/resources/runtimets/results/numeric/abs2/abs2.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/numeric/bs2/bs2.1.adm
rename to asterix-app/src/test/resources/runtimets/results/numeric/abs2/abs2.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/numeric/bs3/bs3.1.adm b/asterix-app/src/test/resources/runtimets/results/numeric/abs3/abs3.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/numeric/bs3/bs3.1.adm
rename to asterix-app/src/test/resources/runtimets/results/numeric/abs3/abs3.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/numeric/bs4/bs4.1.adm b/asterix-app/src/test/resources/runtimets/results/numeric/abs4/abs4.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/numeric/bs4/bs4.1.adm
rename to asterix-app/src/test/resources/runtimets/results/numeric/abs4/abs4.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/numeric/_double/_double.1.adm b/asterix-app/src/test/resources/runtimets/results/numeric/add_double/add_double.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/numeric/_double/_double.1.adm
rename to asterix-app/src/test/resources/runtimets/results/numeric/add_double/add_double.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/numeric/_float/_float.1.adm b/asterix-app/src/test/resources/runtimets/results/numeric/add_float/add_float.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/numeric/_float/_float.1.adm
rename to asterix-app/src/test/resources/runtimets/results/numeric/add_float/add_float.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/numeric/_int16/_int16.1.adm b/asterix-app/src/test/resources/runtimets/results/numeric/add_int16/add_int16.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/numeric/_int16/_int16.1.adm
rename to asterix-app/src/test/resources/runtimets/results/numeric/add_int16/add_int16.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/numeric/_int32/_int32.1.adm b/asterix-app/src/test/resources/runtimets/results/numeric/add_int32/add_int32.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/numeric/_int32/_int32.1.adm
rename to asterix-app/src/test/resources/runtimets/results/numeric/add_int32/add_int32.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/numeric/_int64/_int64.1.adm b/asterix-app/src/test/resources/runtimets/results/numeric/add_int64/add_int64.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/numeric/_int64/_int64.1.adm
rename to asterix-app/src/test/resources/runtimets/results/numeric/add_int64/add_int64.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/numeric/_int8/_int8.1.adm b/asterix-app/src/test/resources/runtimets/results/numeric/add_int8/add_int8.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/numeric/_int8/_int8.1.adm
rename to asterix-app/src/test/resources/runtimets/results/numeric/add_int8/add_int8.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/numeric/ivide_double/ivide_double.1.adm b/asterix-app/src/test/resources/runtimets/results/numeric/divide_double/divide_double.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/numeric/ivide_double/ivide_double.1.adm
rename to asterix-app/src/test/resources/runtimets/results/numeric/divide_double/divide_double.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/numeric/ivide_float/ivide_float.1.adm b/asterix-app/src/test/resources/runtimets/results/numeric/divide_float/divide_float.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/numeric/ivide_float/ivide_float.1.adm
rename to asterix-app/src/test/resources/runtimets/results/numeric/divide_float/divide_float.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/numeric/ivide_int16/ivide_int16.1.adm b/asterix-app/src/test/resources/runtimets/results/numeric/divide_int16/divide_int16.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/numeric/ivide_int16/ivide_int16.1.adm
rename to asterix-app/src/test/resources/runtimets/results/numeric/divide_int16/divide_int16.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/numeric/ivide_int32/ivide_int32.1.adm b/asterix-app/src/test/resources/runtimets/results/numeric/divide_int32/divide_int32.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/numeric/ivide_int32/ivide_int32.1.adm
rename to asterix-app/src/test/resources/runtimets/results/numeric/divide_int32/divide_int32.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/numeric/ivide_int64/ivide_int64.1.adm b/asterix-app/src/test/resources/runtimets/results/numeric/divide_int64/divide_int64.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/numeric/ivide_int64/ivide_int64.1.adm
rename to asterix-app/src/test/resources/runtimets/results/numeric/divide_int64/divide_int64.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/numeric/ivide_int8/ivide_int8.1.adm b/asterix-app/src/test/resources/runtimets/results/numeric/divide_int8/divide_int8.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/numeric/ivide_int8/ivide_int8.1.adm
rename to asterix-app/src/test/resources/runtimets/results/numeric/divide_int8/divide_int8.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/numeric/ultiply_double/ultiply_double.1.adm b/asterix-app/src/test/resources/runtimets/results/numeric/multiply_double/multiply_double.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/numeric/ultiply_double/ultiply_double.1.adm
rename to asterix-app/src/test/resources/runtimets/results/numeric/multiply_double/multiply_double.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/numeric/ultiply_float/ultiply_float.1.adm b/asterix-app/src/test/resources/runtimets/results/numeric/multiply_float/multiply_float.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/numeric/ultiply_float/ultiply_float.1.adm
rename to asterix-app/src/test/resources/runtimets/results/numeric/multiply_float/multiply_float.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/numeric/ultiply_int16/ultiply_int16.1.adm b/asterix-app/src/test/resources/runtimets/results/numeric/multiply_int16/multiply_int16.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/numeric/ultiply_int16/ultiply_int16.1.adm
rename to asterix-app/src/test/resources/runtimets/results/numeric/multiply_int16/multiply_int16.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/numeric/ultiply_int32/ultiply_int32.1.adm b/asterix-app/src/test/resources/runtimets/results/numeric/multiply_int32/multiply_int32.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/numeric/ultiply_int32/ultiply_int32.1.adm
rename to asterix-app/src/test/resources/runtimets/results/numeric/multiply_int32/multiply_int32.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/numeric/ultiply_int64/ultiply_int64.1.adm b/asterix-app/src/test/resources/runtimets/results/numeric/multiply_int64/multiply_int64.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/numeric/ultiply_int64/ultiply_int64.1.adm
rename to asterix-app/src/test/resources/runtimets/results/numeric/multiply_int64/multiply_int64.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/numeric/ultiply_int8/ultiply_int8.1.adm b/asterix-app/src/test/resources/runtimets/results/numeric/multiply_int8/multiply_int8.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/numeric/ultiply_int8/ultiply_int8.1.adm
rename to asterix-app/src/test/resources/runtimets/results/numeric/multiply_int8/multiply_int8.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/scan/lltypes_01/lltypes_01.1.adm b/asterix-app/src/test/resources/runtimets/results/scan/alltypes_01/alltypes_01.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/scan/lltypes_01/lltypes_01.1.adm
rename to asterix-app/src/test/resources/runtimets/results/scan/alltypes_01/alltypes_01.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/scan/lltypes_01/lltypes_01.1.adm b/asterix-app/src/test/resources/runtimets/results/scan/alltypes_02/alltypes_02.1.adm
similarity index 100%
copy from asterix-app/src/test/resources/runtimets/results/scan/lltypes_01/lltypes_01.1.adm
copy to asterix-app/src/test/resources/runtimets/results/scan/alltypes_02/alltypes_02.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/string/tches02/tches02.1.adm b/asterix-app/src/test/resources/runtimets/results/string/matches02/matches02.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/string/tches02/tches02.1.adm
rename to asterix-app/src/test/resources/runtimets/results/string/matches02/matches02.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/string/tches03/tches03.1.adm b/asterix-app/src/test/resources/runtimets/results/string/matches03/matches03.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/string/tches03/tches03.1.adm
rename to asterix-app/src/test/resources/runtimets/results/string/matches03/matches03.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/string/tches04/tches04.1.adm b/asterix-app/src/test/resources/runtimets/results/string/matches04/matches04.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/string/tches04/tches04.1.adm
rename to asterix-app/src/test/resources/runtimets/results/string/matches04/matches04.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/string/tches05/tches05.1.adm b/asterix-app/src/test/resources/runtimets/results/string/matches05/matches05.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/string/tches05/tches05.1.adm
rename to asterix-app/src/test/resources/runtimets/results/string/matches05/matches05.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/string/tches06/tches06.1.adm b/asterix-app/src/test/resources/runtimets/results/string/matches06/matches06.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/string/tches06/tches06.1.adm
rename to asterix-app/src/test/resources/runtimets/results/string/matches06/matches06.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/string/tches1/tches1.1.adm b/asterix-app/src/test/resources/runtimets/results/string/matches1/matches1.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/string/tches1/tches1.1.adm
rename to asterix-app/src/test/resources/runtimets/results/string/matches1/matches1.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/string/tches11/tches11.1.adm b/asterix-app/src/test/resources/runtimets/results/string/matches11/matches11.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/string/tches11/tches11.1.adm
rename to asterix-app/src/test/resources/runtimets/results/string/matches11/matches11.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/string/tches2/tches2.1.adm b/asterix-app/src/test/resources/runtimets/results/string/matches2/matches2.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/string/tches2/tches2.1.adm
rename to asterix-app/src/test/resources/runtimets/results/string/matches2/matches2.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/string/tches21/tches21.1.adm b/asterix-app/src/test/resources/runtimets/results/string/matches21/matches21.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/string/tches21/tches21.1.adm
rename to asterix-app/src/test/resources/runtimets/results/string/matches21/matches21.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/string/tches22/tches22.1.adm b/asterix-app/src/test/resources/runtimets/results/string/matches22/matches22.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/string/tches22/tches22.1.adm
rename to asterix-app/src/test/resources/runtimets/results/string/matches22/matches22.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/string/tches23/tches23.1.adm b/asterix-app/src/test/resources/runtimets/results/string/matches23/matches23.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/string/tches23/tches23.1.adm
rename to asterix-app/src/test/resources/runtimets/results/string/matches23/matches23.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/string/tches3/tches3.1.adm b/asterix-app/src/test/resources/runtimets/results/string/matches3/matches3.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/string/tches3/tches3.1.adm
rename to asterix-app/src/test/resources/runtimets/results/string/matches3/matches3.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/string/tchesnull/tchesnull.1.adm b/asterix-app/src/test/resources/runtimets/results/string/matchesnull/matchesnull.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/string/tchesnull/tchesnull.1.adm
rename to asterix-app/src/test/resources/runtimets/results/string/matchesnull/matchesnull.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/temp/ccessors/ccessors.1.adm b/asterix-app/src/test/resources/runtimets/results/temp/accessors/accessors.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/temp/ccessors/ccessors.1.adm
rename to asterix-app/src/test/resources/runtimets/results/temp/accessors/accessors.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/temp/just_timezone/just_timezone.1.adm b/asterix-app/src/test/resources/runtimets/results/temp/adjust_timezone/adjust_timezone.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/temp/just_timezone/just_timezone.1.adm
rename to asterix-app/src/test/resources/runtimets/results/temp/adjust_timezone/adjust_timezone.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/temp/te_functions/te_functions.1.adm b/asterix-app/src/test/resources/runtimets/results/temp/date_functions/date_functions.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/temp/te_functions/te_functions.1.adm
rename to asterix-app/src/test/resources/runtimets/results/temp/date_functions/date_functions.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/temp/tetime_functions/tetime_functions.1.adm b/asterix-app/src/test/resources/runtimets/results/temp/datetime_functions/datetime_functions.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/temp/tetime_functions/tetime_functions.1.adm
rename to asterix-app/src/test/resources/runtimets/results/temp/datetime_functions/datetime_functions.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/tpch/istinct_by/istinct_by.1.adm b/asterix-app/src/test/resources/runtimets/results/tpch/distinct_by/distinct_by.1.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/tpch/istinct_by/istinct_by.1.adm
rename to asterix-app/src/test/resources/runtimets/results/tpch/distinct_by/distinct_by.1.adm
