| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| */ |
| |
| drop dataverse `loj-super-key_02` if exists; |
| create dataverse `loj-super-key_02`; |
| |
| use `loj-super-key_02`; |
| |
| |
| create type `loj-super-key_02`.SupplierType as |
| closed { |
| s_suppkey : int32, |
| s_name : string, |
| s_address : string, |
| s_nationkey : int32, |
| s_phone : string, |
| s_acctbal : double, |
| s_comment : string |
| } |
| |
| create type `loj-super-key_02`.NationType as |
| closed { |
| n_nationkey : int32, |
| n_name : string, |
| n_regionkey : int32, |
| n_comment : string |
| } |
| |
| create type `loj-super-key_02`.LineItemType as |
| closed { |
| l_orderkey : int32, |
| l_partkey : int32, |
| l_suppkey : int32, |
| l_linenumber : int32, |
| l_quantity : double, |
| l_extendedprice : double, |
| l_discount : double, |
| l_tax : double, |
| l_returnflag : string, |
| l_linestatus : string, |
| l_shipdate : string, |
| l_commitdate : string, |
| l_receiptdate : string, |
| l_shipinstruct : string, |
| l_shipmode : string, |
| l_comment : string |
| } |
| |
| create type `loj-super-key_02`.PartType as |
| closed { |
| p_partkey : int32, |
| p_name : string, |
| p_mfgr : string, |
| p_brand : string, |
| p_type : string, |
| p_size : int32, |
| p_container : string, |
| p_retailprice : double, |
| p_comment : string |
| } |
| |
| create type `loj-super-key_02`.PartSuppType as |
| closed { |
| ps_partkey : int32, |
| ps_suppkey : int32, |
| ps_availqty : int32, |
| ps_supplycost : double, |
| ps_comment : string |
| } |
| |
| create nodegroup group1 if not exists on |
| asterix_nc1, |
| asterix_nc2 |
| ; |
| write output to asterix_nc1:"/tmp/loj-super-key_01.adm" |
| create dataset LineItems(LineItemType) primary key l_partkey,l_linenumber on group1; |
| |
| create dataset PartSupp(PartSuppType) primary key ps_partkey,ps_suppkey on group1; |
| |
| select element {'partsupp':ps,'li':items} |
| from PartSupp as ps |
| with items as ( |
| select element li |
| from LineItems as li |
| where ((li.l_partkey = ps.ps_partkey) and (li.l_suppkey = ps.ps_suppkey) and (li.l_extendedprice = ps.ps_supplycost)) |
| ) |
| ; |