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
index 5b8eb0f..74bcce3 100644
--- a/asterix-app/src/test/resources/old-optimizerts/queries/aggreg-test01.aql
+++ b/asterix-app/src/test/resources/old-optimizerts/queries/aggreg-test01.aql
@@ -17,7 +17,7 @@
  * under the License.
  */
 // 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'])
+for $o in recordset(['oid', 'int32', 'date', 'int32', 'cid', 'int32', 'total', 'float'], 'osfiles', ['asterix_nc1', 'data/spj01/ord1.adm'], ['asterix_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), 
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
index 2ce3884..31087a8 100644
--- 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
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-for $c in recordset(['cid', 'int32', 'name', 'string', 'age', 'int32'], 'osfiles', ['nc1', 'data/spj01/cust1.adm'], ['nc2', 'data/spj01/cust2.adm'])
+for $c in recordset(['cid', 'int32', 'name', 'string', 'age', 'int32'], 'osfiles', ['asterix_nc1', 'data/spj01/cust1.adm'], ['asterix_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/spj01-limit01.aql b/asterix-app/src/test/resources/old-optimizerts/queries/spj01-limit01.aql
index 2dd68d3..1daa8a1 100644
--- a/asterix-app/src/test/resources/old-optimizerts/queries/spj01-limit01.aql
+++ b/asterix-app/src/test/resources/old-optimizerts/queries/spj01-limit01.aql
@@ -19,8 +19,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'])
+for $c in recordset(['cid', 'int32', 'name', 'string', 'age', 'int32'], 'osfiles', ['asterix_nc1', 'data/spj01/cust1.adm'], ['asterix_nc2', 'data/spj01/cust2.adm'])
+for $o in recordset(['oid', 'int32', 'date', 'int32', 'cid', 'int32', 'total', 'float'], 'osfiles', ['asterix_nc1', 'data/spj01/ord1.adm'], ['asterix_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
index 03c5107..5251d9a 100644
--- a/asterix-app/src/test/resources/old-optimizerts/queries/spj01-recordset.aql
+++ b/asterix-app/src/test/resources/old-optimizerts/queries/spj01-recordset.aql
@@ -19,8 +19,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'])
+for $c in recordset(['cid', 'int32', 'name', 'string', 'age', 'int32'], 'osfiles', ['asterix_nc1', 'data/spj01/cust1.adm'], ['asterix_nc2', 'data/spj01/cust2.adm'])
+for $o in recordset(['oid', 'int32', 'date', 'int32', 'cid', 'int32', 'total', 'float'], 'osfiles', ['asterix_nc1', 'data/spj01/ord1.adm'], ['asterix_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
index cddddfe..4cab1d0 100644
--- a/asterix-app/src/test/resources/old-optimizerts/queries/spj01-somesat.aql
+++ b/asterix-app/src/test/resources/old-optimizerts/queries/spj01-somesat.aql
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-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'])
+for $c in recordset(['cid', 'int32', 'name', 'string', 'age', 'int32'], 'osfiles', ['asterix_nc1', 'data/spj01/cust1.adm'], ['asterix_nc2', 'data/spj01/cust2.adm'])
+where some $c2 in recordset(['cid', 'int32', 'name', 'string', 'age', 'int32'], 'osfiles', ['asterix_nc1', 'data/spj01/cust1.adm'], ['asterix_nc2', 'data/spj01/cust2.adm'])
       satisfies $c2.age > $c.age
 return $c
