| /* |
| * Description : This test case is to verify the fix for issue827 |
| * https://code.google.com/p/asterixdb/issues/detail?id=827 |
| * Expected Res : SUCCESS |
| * Date : 3rd Dec. 2014 |
| */ |
| |
| drop dataverse tpch if exists; |
| create dataverse tpch; |
| |
| use dataverse tpch; |
| |
| create type 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 dataset LineItem(LineItemType) |
| primary key l_orderkey, l_linenumber; |
| |
| let $qty := for $i in dataset('LineItem') where $i.l_shipdate <= '1998-09-02' return $i.l_quantity |
| let $base_price := for $i in dataset('LineItem') return $i.l_extendedprice |
| let $disc_price := for $i in dataset('LineItem') return $i.l_extendedprice * (1 - $i.l_discount) |
| let $charge := for $i in dataset('LineItem') return $i.l_extendedprice * (1 - $i.l_discount) * (1 + $i.l_tax) |
| let $price := for $i in dataset('LineItem') return $i.l_extendedprice |
| let $disc := for $i in dataset('LineItem') return $i.l_discount |
| let $order := for $l in dataset('LineItem') return $l |
| return { |
| "sum_qty_partial": sum($qty), |
| "sum_base_price": sum($base_price), |
| "sum_disc_price": sum($disc_price), |
| "sum_charge": sum($charge), |
| "ave_qty": avg($qty), |
| "ave_price": avg($price), |
| "ave_disc": avg($disc), |
| "count_order": count($order) |
| } |
| |