| 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 nodegroup group1 if not exists on nc1, nc2; |
| |
| create dataset Customers3(CustomerType) |
| partitioned by key cid on group1; |
| create dataset Orders3(OrderType) |
| partitioned by key oid on group1; |
| create dataset CustomerOrders3(CustomerOrdersType) |
| partitioned by key cid on group1; |
| |
| |
| 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 |