blob: e5f5c23cc4aaa10e41b8a8a4c98348ee2c365646 [file] [log] [blame]
Ian Maxon857dc132015-09-25 17:13:19 -07001/*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
vinayakb38b7ca42012-03-05 05:44:15 +000019drop dataverse tpch if exists;
20create dataverse tpch;
21use dataverse tpch;
22
23create type LineItemType as closed {
24 l_orderkey: int32,
25 l_partkey: int32,
26 l_suppkey: int32,
27 l_linenumber: int32,
28 l_quantity: double,
29 l_extendedprice: double,
30 l_discount: double,
31 l_tax: double,
32 l_returnflag: string,
33 l_linestatus: string,
34 l_shipdate: string,
35 l_commitdate: string,
36 l_receiptdate: string,
37 l_shipinstruct: string,
38 l_shipmode: string,
39 l_comment: string
40}
41
42create type OrderType as closed {
43 o_orderkey: int32,
44 o_custkey: int32,
45 o_orderstatus: string,
46 o_totalprice: double,
47 o_orderdate: string,
48 o_orderpriority: string,
49 o_clerk: string,
50 o_shippriority: int32,
51 o_comment: string
52}
53
54create type CustomerType as closed {
55 c_custkey: int32,
56 c_name: string,
57 c_address: string,
58 c_nationkey: int32,
59 c_phone: string,
60 c_acctbal: double,
61 c_mktsegment: string,
62 c_comment: string
63}
64
65create nodegroup group1 if not exists on nc1, nc2;
66
67create dataset LineItems(LineItemType)
ramangrover29669d8f62013-02-11 06:03:32 +000068 primary key l_orderkey, l_linenumber on group1;
vinayakb38b7ca42012-03-05 05:44:15 +000069create dataset Orders(OrderType)
ramangrover29669d8f62013-02-11 06:03:32 +000070 primary key o_orderkey on group1;
vinayakb38b7ca42012-03-05 05:44:15 +000071create dataset Customers(CustomerType)
ramangrover29669d8f62013-02-11 06:03:32 +000072 primary key c_custkey on group1;
vinayakb38b7ca42012-03-05 05:44:15 +000073
74write output to nc1:"/tmp/nested_loj.adm";
75
76for $c in dataset('Customers')
77let $orders :=
78 for $o in dataset('Orders')
79 where $o.o_custkey = $c.c_custkey
80 let $items :=
81 for $l in dataset('LineItems')
82 where $l.l_orderkey = $o.o_orderkey
83 return $l
84 return {
85 "order": $o,
86 "items": $items
87 }
88return {
89 "cust": $c,
90 "orders": $orders
91}