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[?]}
