diff --git a/asterix-app/src/test/resources/old-optimizerts/queries/aggreg-test01.aql b/asterix-app/src/test/resources/old-optimizerts/queries/aggreg-test01.aql
new file mode 100644
index 0000000..6a484df
--- /dev/null
+++ b/asterix-app/src/test/resources/old-optimizerts/queries/aggreg-test01.aql
@@ -0,0 +1,7 @@
+// count, sum, avg
+for $o in recordset(['oid', 'int32', 'date', 'int32', 'cid', 'int32', 'total', 'float'], 'osfiles', ['nc1', 'data/spj01/ord1.adm'], ['nc2', 'data/spj01/ord2.adm'])
+group by $cid := $o.cid with $o
+return { "cid": $cid , "ordpercust": count($o),  
+         "totalcust": sum(for $i in $o return $i.total), 
+         "avgcust": avg(for $i in $o return $i.total) } 
+ 
diff --git a/asterix-app/src/test/resources/old-optimizerts/queries/j-cust-subplan.aql b/asterix-app/src/test/resources/old-optimizerts/queries/j-cust-subplan.aql
new file mode 100644
index 0000000..caa6e28
--- /dev/null
+++ b/asterix-app/src/test/resources/old-optimizerts/queries/j-cust-subplan.aql
@@ -0,0 +1,4 @@
+for $c in recordset(['cid', 'int32', 'name', 'string', 'age', 'int32'], 'osfiles', ['nc1', 'data/spj01/cust1.adm'], ['nc2', 'data/spj01/cust2.adm'])
+where some $c2 in [ $c ]
+      satisfies substring($c2.name, 1, 1) = "J"
+return $c
diff --git a/asterix-app/src/test/resources/old-optimizerts/queries/redundant-orderby.aql b/asterix-app/src/test/resources/old-optimizerts/queries/redundant-orderby.aql
new file mode 100644
index 0000000..e993025
--- /dev/null
+++ b/asterix-app/src/test/resources/old-optimizerts/queries/redundant-orderby.aql
@@ -0,0 +1,6 @@
+for $x in dataset('A')
+order by $x.a
+order by $x.a
+order by $x.b
+order by $x.b
+return $x
diff --git a/asterix-app/src/test/resources/old-optimizerts/queries/spj01-limit01.aql b/asterix-app/src/test/resources/old-optimizerts/queries/spj01-limit01.aql
new file mode 100644
index 0000000..e3c680e
--- /dev/null
+++ b/asterix-app/src/test/resources/old-optimizerts/queries/spj01-limit01.aql
@@ -0,0 +1,9 @@
+declare function samecust($cust, $ord)
+{$cust.cid = $ord.cid}
+
+for $c in recordset(['cid', 'int32', 'name', 'string', 'age', 'int32'], 'osfiles', ['nc1', 'data/spj01/cust1.adm'], ['nc2', 'data/spj01/cust2.adm'])
+for $o in recordset(['oid', 'int32', 'date', 'int32', 'cid', 'int32', 'total', 'float'], 'osfiles', ['nc1', 'data/spj01/ord1.adm'], ['nc2', 'data/spj01/ord2.adm'])
+where samecust($c, $o)
+limit 2 
+return { "custname":$c.name, "orddate":$o.date } 
+
diff --git a/asterix-app/src/test/resources/old-optimizerts/queries/spj01-recordset.aql b/asterix-app/src/test/resources/old-optimizerts/queries/spj01-recordset.aql
new file mode 100644
index 0000000..731a042
--- /dev/null
+++ b/asterix-app/src/test/resources/old-optimizerts/queries/spj01-recordset.aql
@@ -0,0 +1,8 @@
+declare function samecust($cust, $ord)
+{$cust.cid = $ord.cid}
+
+for $c in recordset(['cid', 'int32', 'name', 'string', 'age', 'int32'], 'osfiles', ['nc1', 'data/spj01/cust1.adm'], ['nc2', 'data/spj01/cust2.adm'])
+for $o in recordset(['oid', 'int32', 'date', 'int32', 'cid', 'int32', 'total', 'float'], 'osfiles', ['nc1', 'data/spj01/ord1.adm'], ['nc2', 'data/spj01/ord2.adm'])
+where samecust($c, $o)
+ and $c.age < 21 and $o.total > 1000.00
+return { "custname":$c.name, "orddate":$o.date } 
diff --git a/asterix-app/src/test/resources/old-optimizerts/queries/spj01-somesat.aql b/asterix-app/src/test/resources/old-optimizerts/queries/spj01-somesat.aql
new file mode 100644
index 0000000..de681f7
--- /dev/null
+++ b/asterix-app/src/test/resources/old-optimizerts/queries/spj01-somesat.aql
@@ -0,0 +1,4 @@
+for $c in recordset(['cid', 'int32', 'name', 'string', 'age', 'int32'], 'osfiles', ['nc1', 'data/spj01/cust1.adm'], ['nc2', 'data/spj01/cust2.adm'])
+where some $c2 in recordset(['cid', 'int32', 'name', 'string', 'age', 'int32'], 'osfiles', ['nc1', 'data/spj01/cust1.adm'], ['nc2', 'data/spj01/cust2.adm'])
+      satisfies $c2.age > $c.age
+return $c
diff --git a/asterix-app/src/test/resources/old-optimizerts/queries/spj01.aql b/asterix-app/src/test/resources/old-optimizerts/queries/spj01.aql
new file mode 100644
index 0000000..28fd2c8
--- /dev/null
+++ b/asterix-app/src/test/resources/old-optimizerts/queries/spj01.aql
@@ -0,0 +1,8 @@
+declare function samecust($cust, $ord)
+{$cust.cid = $ord.cid}
+
+for $c in dataset('Customers')
+for $o in dataset('Orders')
+where samecust($c, $o)
+ and $c.age < 21 and $o.total > 1000.00
+return { "custname":$c.name, "orddate":$o.date } 
