Yingyi Bu has uploaded a new change for review. https://asterix-gerrit.ics.uci.edu/1037
Change subject: ASTERIXDB-830: adds regression tests. ...................................................................... ASTERIXDB-830: adds regression tests. Change-Id: I2e352726bcac831e8024858f9a9ad49ef777d50e --- A asterixdb/asterix-app/src/test/resources/optimizerts/queries/query-ASTERIXDB-830.aql A asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-830.plan A asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q01-ASTERIXDB-830/q01-ASTERIXDB-830.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q01-ASTERIXDB-830/q01-ASTERIXDB-830.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q01-ASTERIXDB-830/q01-ASTERIXDB-830.3.query.aql M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml 6 files changed, 226 insertions(+), 0 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/37/1037/1 diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/query-ASTERIXDB-830.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/query-ASTERIXDB-830.aql new file mode 100644 index 0000000..2fc491a --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/query-ASTERIXDB-830.aql @@ -0,0 +1,47 @@ +/* + * 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 test if exists; +create dataverse test; + +use dataverse test; + +create type TweetMetadataType as { + id : string +} + +create dataset TweetMetadata(TweetMetadataType) primary key id; + +for $m in dataset TweetMetadata +let $p := $m.gender.MaleProb +let $s := $m.sentiment +where "not"(is-null($m.sentiment)) and "not"(is-null($m.gender)) +group by $g := $m.product_id[0] with $p, $s +return +{ "bucket": $g, "sentiment": avg($s), "male": avg($p) }; + +for $m in dataset TweetMetadata +where "not"(is-null($m.sentiment)) and "not"(is-null($m.gender)) +group by $g := $m.product_id[0] with $m +return +{ + "bucket": $g, + "sentiment": avg(for $x in $m return $x.sentiment), + "male": avg(for $x in $m return $x.gender.MaleProb) +}; diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-830.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-830.plan new file mode 100644 index 0000000..ef384eb --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-830.plan @@ -0,0 +1,62 @@ +-- DISTRIBUTE_RESULT |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| + -- ASSIGN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- PRE_CLUSTERED_GROUP_BY[$$32] |PARTITIONED| + { + -- AGGREGATE |LOCAL| + -- NESTED_TUPLE_SOURCE |LOCAL| + } + { + -- AGGREGATE |LOCAL| + -- NESTED_TUPLE_SOURCE |LOCAL| + } + -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$32(ASC)] HASH:[$$32] |PARTITIONED| + -- PRE_CLUSTERED_GROUP_BY[$$24] |PARTITIONED| + { + -- AGGREGATE |LOCAL| + -- NESTED_TUPLE_SOURCE |LOCAL| + } + { + -- AGGREGATE |LOCAL| + -- NESTED_TUPLE_SOURCE |LOCAL| + } + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STABLE_SORT [$$24(ASC)] |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| + -- ASSIGN |PARTITIONED| + -- STREAM_SELECT |PARTITIONED| + -- ASSIGN |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- DATASOURCE_SCAN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- EMPTY_TUPLE_SOURCE |PARTITIONED| +-- DISTRIBUTE_RESULT |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| + -- ASSIGN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- PRE_CLUSTERED_GROUP_BY[$$40] |PARTITIONED| + { + -- AGGREGATE |LOCAL| + -- NESTED_TUPLE_SOURCE |LOCAL| + } + -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$40(ASC)] HASH:[$$40] |PARTITIONED| + -- SORT_GROUP_BY[$$30] |PARTITIONED| + { + -- AGGREGATE |LOCAL| + -- NESTED_TUPLE_SOURCE |LOCAL| + } + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| + -- ASSIGN |PARTITIONED| + -- STREAM_SELECT |PARTITIONED| + -- ASSIGN |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- DATASOURCE_SCAN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- EMPTY_TUPLE_SOURCE |PARTITIONED| diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q01-ASTERIXDB-830/q01-ASTERIXDB-830.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q01-ASTERIXDB-830/q01-ASTERIXDB-830.1.ddl.aql new file mode 100644 index 0000000..41b4e59 --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q01-ASTERIXDB-830/q01-ASTERIXDB-830.1.ddl.aql @@ -0,0 +1,45 @@ +/* + * 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 tpch if exists; +create dataverse tpch; + +use dataverse tpch; + +create type LineItemType as closed { + l_orderkey: int64, + l_partkey: int64, + l_suppkey: int64, + l_linenumber: int64, + 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; + diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q01-ASTERIXDB-830/q01-ASTERIXDB-830.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q01-ASTERIXDB-830/q01-ASTERIXDB-830.2.update.aql new file mode 100644 index 0000000..fce79ca --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q01-ASTERIXDB-830/q01-ASTERIXDB-830.2.update.aql @@ -0,0 +1,24 @@ +/* + * 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. + */ +use dataverse tpch; + +load dataset LineItem +using localfs +(("path"="asterix_nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted; + diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q01-ASTERIXDB-830/q01-ASTERIXDB-830.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q01-ASTERIXDB-830/q01-ASTERIXDB-830.3.query.aql new file mode 100644 index 0000000..564bae2 --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q01-ASTERIXDB-830/q01-ASTERIXDB-830.3.query.aql @@ -0,0 +1,43 @@ +/* + * 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. + */ +use dataverse tpch; + +for $l in dataset('LineItem') +let $quantity := $l.l_quantity +let $extendedprice := $l.l_extendedprice +let $disc_price := $l.l_extendedprice * (1 - $l.l_discount) +let $charge := $extendedprice * (1 - $l.l_discount) * (1 + $l.l_tax) +let $discount := $l.l_discount +where $l.l_shipdate <= '1998-09-02' +group by $l_returnflag := $l.l_returnflag, + $l_linestatus := $l.l_linestatus + with $l, $quantity, $extendedprice, $disc_price, $charge, $discount +order by $l_returnflag, $l_linestatus +return { + "l_returnflag": $l_returnflag, + "l_linestatus": $l_linestatus, + "sum_qty": sum($quantity), + "sum_base_price": sum($extendedprice), + "sum_disc_price": sum($disc_price), + "sum_charge": sum($charge), + "ave_qty": avg($quantity), + "ave_price": avg($extendedprice), + "ave_disc": avg($discount), + "count_order": count($l) +} diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml index 0553fba..9f98434 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml +++ b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml @@ -5767,6 +5767,11 @@ </compilation-unit> </test-case> <test-case FilePath="tpch"> + <compilation-unit name="q01-ASTERIXDB-830"> + <output-dir compare="Text">q01_pricing_summary_report_nt</output-dir> + </compilation-unit> + </test-case> + <test-case FilePath="tpch"> <compilation-unit name="q20_potential_part_promotion"> <output-dir compare="Text">q20_potential_part_promotion</output-dir> </compilation-unit> -- To view, visit https://asterix-gerrit.ics.uci.edu/1037 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I2e352726bcac831e8024858f9a9ad49ef777d50e Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Yingyi Bu <[email protected]>
