Changeset: 2495e68b872c for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2495e68b872c Added Files: sql/benchmarks/tpcds/Tests/11.reqtests sql/benchmarks/tpcds/Tests/11.sql sql/benchmarks/tpcds/Tests/11.sql.src sql/benchmarks/tpcds/Tests/38.reqtests sql/benchmarks/tpcds/Tests/38.sql sql/benchmarks/tpcds/Tests/38.sql.src sql/benchmarks/tpcds/Tests/72.reqtests sql/benchmarks/tpcds/Tests/72.sql sql/benchmarks/tpcds/Tests/72.sql.src sql/benchmarks/tpcds/Tests/83.reqtests sql/benchmarks/tpcds/Tests/83.sql sql/benchmarks/tpcds/Tests/83.sql.src sql/benchmarks/tpcds/Tests/99.reqtests sql/benchmarks/tpcds/Tests/99.sql sql/benchmarks/tpcds/Tests/99.sql.src Modified Files: sql/benchmarks/tpcds/Tests/All Branch: default Log Message:
Added TPC-DS queries 11, 38, 72, 83 and 99. The output for SF 0.01 is actually right. Now I will check the output for SF 1 to find a possible wrong output. diffs (truncated from 381 to 300 lines): diff --git a/sql/benchmarks/tpcds/Tests/11.reqtests b/sql/benchmarks/tpcds/Tests/11.reqtests new file mode 100644 --- /dev/null +++ b/sql/benchmarks/tpcds/Tests/11.reqtests @@ -0,0 +1,5 @@ +create +check0 +load +alter +check1 diff --git a/sql/benchmarks/tpcds/Tests/11.sql b/sql/benchmarks/tpcds/Tests/11.sql new file mode 100644 --- /dev/null +++ b/sql/benchmarks/tpcds/Tests/11.sql @@ -0,0 +1,80 @@ +WITH year_total AS + (SELECT c_customer_id customer_id, + c_first_name customer_first_name, + c_last_name customer_last_name, + c_preferred_cust_flag customer_preferred_cust_flag, + c_birth_country customer_birth_country, + c_login customer_login, + c_email_address customer_email_address, + d_year dyear, + sum(ss_ext_list_price-ss_ext_discount_amt) year_total, + 's' sale_type + FROM customer, + store_sales, + date_dim + WHERE c_customer_sk = ss_customer_sk + AND ss_sold_date_sk = d_date_sk + GROUP BY c_customer_id, + c_first_name, + c_last_name, + c_preferred_cust_flag, + c_birth_country, + c_login, + c_email_address, + d_year + UNION ALL SELECT c_customer_id customer_id, + c_first_name customer_first_name, + c_last_name customer_last_name, + c_preferred_cust_flag customer_preferred_cust_flag, + c_birth_country customer_birth_country, + c_login customer_login, + c_email_address customer_email_address, + d_year dyear, + sum(ws_ext_list_price-ws_ext_discount_amt) year_total, + 'w' sale_type + FROM customer, + web_sales, + date_dim + WHERE c_customer_sk = ws_bill_customer_sk + AND ws_sold_date_sk = d_date_sk + GROUP BY c_customer_id, + c_first_name, + c_last_name, + c_preferred_cust_flag, + c_birth_country, + c_login, + c_email_address, + d_year) +SELECT t_s_secyear.customer_id, + t_s_secyear.customer_first_name, + t_s_secyear.customer_last_name, + t_s_secyear.customer_preferred_cust_flag +FROM year_total t_s_firstyear, + year_total t_s_secyear, + year_total t_w_firstyear, + year_total t_w_secyear +WHERE t_s_secyear.customer_id = t_s_firstyear.customer_id + AND t_s_firstyear.customer_id = t_w_secyear.customer_id + AND t_s_firstyear.customer_id = t_w_firstyear.customer_id + AND t_s_firstyear.sale_type = 's' + AND t_w_firstyear.sale_type = 'w' + AND t_s_secyear.sale_type = 's' + AND t_w_secyear.sale_type = 'w' + AND t_s_firstyear.dyear = 2001 + AND t_s_secyear.dyear = 2001+1 + AND t_w_firstyear.dyear = 2001 + AND t_w_secyear.dyear = 2001+1 + AND t_s_firstyear.year_total > 0 + AND t_w_firstyear.year_total > 0 + AND CASE + WHEN t_w_firstyear.year_total > 0 THEN t_w_secyear.year_total / t_w_firstyear.year_total + ELSE 0.0 + END > CASE + WHEN t_s_firstyear.year_total > 0 THEN t_s_secyear.year_total / t_s_firstyear.year_total + ELSE 0.0 + END +ORDER BY t_s_secyear.customer_id, + t_s_secyear.customer_first_name, + t_s_secyear.customer_last_name, + t_s_secyear.customer_preferred_cust_flag +LIMIT 100; diff --git a/sql/benchmarks/tpcds/Tests/11.sql.src b/sql/benchmarks/tpcds/Tests/11.sql.src new file mode 100644 --- /dev/null +++ b/sql/benchmarks/tpcds/Tests/11.sql.src @@ -0,0 +1,1 @@ +$RELSRCDIR/../11.sql diff --git a/sql/benchmarks/tpcds/Tests/38.reqtests b/sql/benchmarks/tpcds/Tests/38.reqtests new file mode 100644 --- /dev/null +++ b/sql/benchmarks/tpcds/Tests/38.reqtests @@ -0,0 +1,5 @@ +create +check0 +load +alter +check1 diff --git a/sql/benchmarks/tpcds/Tests/38.sql b/sql/benchmarks/tpcds/Tests/38.sql new file mode 100644 --- /dev/null +++ b/sql/benchmarks/tpcds/Tests/38.sql @@ -0,0 +1,28 @@ +SELECT count(*) +FROM + (SELECT DISTINCT c_last_name, + c_first_name, + d_date + FROM store_sales, + date_dim, + customer + WHERE store_sales.ss_sold_date_sk = date_dim.d_date_sk + AND store_sales.ss_customer_sk = customer.c_customer_sk + AND d_month_seq BETWEEN 1200 AND 1200 + 11 INTERSECT + SELECT DISTINCT c_last_name, + c_first_name, + d_date + FROM catalog_sales, + date_dim, + customer WHERE catalog_sales.cs_sold_date_sk = date_dim.d_date_sk + AND catalog_sales.cs_bill_customer_sk = customer.c_customer_sk + AND d_month_seq BETWEEN 1200 AND 1200 + 11 INTERSECT + SELECT DISTINCT c_last_name, + c_first_name, + d_date + FROM web_sales, + date_dim, + customer WHERE web_sales.ws_sold_date_sk = date_dim.d_date_sk + AND web_sales.ws_bill_customer_sk = customer.c_customer_sk + AND d_month_seq BETWEEN 1200 AND 1200 + 11 ) hot_cust +LIMIT 100; diff --git a/sql/benchmarks/tpcds/Tests/38.sql.src b/sql/benchmarks/tpcds/Tests/38.sql.src new file mode 100644 --- /dev/null +++ b/sql/benchmarks/tpcds/Tests/38.sql.src @@ -0,0 +1,1 @@ +$RELSRCDIR/../38.sql diff --git a/sql/benchmarks/tpcds/Tests/72.reqtests b/sql/benchmarks/tpcds/Tests/72.reqtests new file mode 100644 --- /dev/null +++ b/sql/benchmarks/tpcds/Tests/72.reqtests @@ -0,0 +1,5 @@ +create +check0 +load +alter +check1 diff --git a/sql/benchmarks/tpcds/Tests/72.sql b/sql/benchmarks/tpcds/Tests/72.sql new file mode 100644 --- /dev/null +++ b/sql/benchmarks/tpcds/Tests/72.sql @@ -0,0 +1,38 @@ +SELECT i_item_desc, + w_warehouse_name, + d1.d_week_seq, + sum(CASE + WHEN p_promo_sk IS NULL THEN 1 + ELSE 0 + END) no_promo, + sum(CASE + WHEN p_promo_sk IS NOT NULL THEN 1 + ELSE 0 + END) promo, + count(*) total_cnt +FROM catalog_sales +JOIN inventory ON (cs_item_sk = inv_item_sk) +JOIN warehouse ON (w_warehouse_sk=inv_warehouse_sk) +JOIN item ON (i_item_sk = cs_item_sk) +JOIN customer_demographics ON (cs_bill_cdemo_sk = cd_demo_sk) +JOIN household_demographics ON (cs_bill_hdemo_sk = hd_demo_sk) +JOIN date_dim d1 ON (cs_sold_date_sk = d1.d_date_sk) +JOIN date_dim d2 ON (inv_date_sk = d2.d_date_sk) +JOIN date_dim d3 ON (cs_ship_date_sk = d3.d_date_sk) +LEFT OUTER JOIN promotion ON (cs_promo_sk=p_promo_sk) +LEFT OUTER JOIN catalog_returns ON (cr_item_sk = cs_item_sk + AND cr_order_number = cs_order_number) +WHERE d1.d_week_seq = d2.d_week_seq + AND inv_quantity_on_hand < cs_quantity + AND d3.d_date > d1.d_date + 5 + AND hd_buy_potential = '>10000' + AND d1.d_year = 1999 + AND cd_marital_status = 'D' +GROUP BY i_item_desc, + w_warehouse_name, + d1.d_week_seq +ORDER BY total_cnt DESC, + i_item_desc, + w_warehouse_name, + d_week_seq +LIMIT 100; diff --git a/sql/benchmarks/tpcds/Tests/72.sql.src b/sql/benchmarks/tpcds/Tests/72.sql.src new file mode 100644 --- /dev/null +++ b/sql/benchmarks/tpcds/Tests/72.sql.src @@ -0,0 +1,1 @@ +$RELSRCDIR/../72.sql diff --git a/sql/benchmarks/tpcds/Tests/83.reqtests b/sql/benchmarks/tpcds/Tests/83.reqtests new file mode 100644 --- /dev/null +++ b/sql/benchmarks/tpcds/Tests/83.reqtests @@ -0,0 +1,5 @@ +create +check0 +load +alter +check1 diff --git a/sql/benchmarks/tpcds/Tests/83.sql b/sql/benchmarks/tpcds/Tests/83.sql new file mode 100644 --- /dev/null +++ b/sql/benchmarks/tpcds/Tests/83.sql @@ -0,0 +1,70 @@ +WITH sr_items AS + (SELECT i_item_id item_id, + sum(sr_return_quantity) sr_item_qty + FROM store_returns, + item, + date_dim + WHERE sr_item_sk = i_item_sk + AND d_date IN + (SELECT d_date + FROM date_dim + WHERE d_week_seq IN + (SELECT d_week_seq + FROM date_dim + WHERE d_date IN ('2000-06-30', + '2000-09-27', + '2000-11-17'))) + AND sr_returned_date_sk = d_date_sk + GROUP BY i_item_id), + cr_items AS + (SELECT i_item_id item_id, + sum(cr_return_quantity) cr_item_qty + FROM catalog_returns, + item, + date_dim + WHERE cr_item_sk = i_item_sk + AND d_date IN + (SELECT d_date + FROM date_dim + WHERE d_week_seq IN + (SELECT d_week_seq + FROM date_dim + WHERE d_date IN ('2000-06-30', + '2000-09-27', + '2000-11-17'))) + AND cr_returned_date_sk = d_date_sk + GROUP BY i_item_id), + wr_items AS + (SELECT i_item_id item_id, + sum(wr_return_quantity) wr_item_qty + FROM web_returns, + item, + date_dim + WHERE wr_item_sk = i_item_sk + AND d_date IN + (SELECT d_date + FROM date_dim + WHERE d_week_seq IN + (SELECT d_week_seq + FROM date_dim + WHERE d_date IN ('2000-06-30', + '2000-09-27', + '2000-11-17'))) + AND wr_returned_date_sk = d_date_sk + GROUP BY i_item_id) +SELECT sr_items.item_id , + sr_item_qty , + (sr_item_qty*1.0000)/(sr_item_qty+cr_item_qty+wr_item_qty)/3.0000 * 100 sr_dev , + cr_item_qty , + (cr_item_qty*1.0000)/(sr_item_qty+cr_item_qty+wr_item_qty)/3.0000 * 100 cr_dev , + wr_item_qty , + (wr_item_qty*1.0000)/(sr_item_qty+cr_item_qty+wr_item_qty)/3.0000 * 100 wr_dev , + (sr_item_qty+cr_item_qty+wr_item_qty)/3.0 average +FROM sr_items , + cr_items , + wr_items +WHERE sr_items.item_id=cr_items.item_id + AND sr_items.item_id=wr_items.item_id +ORDER BY sr_items.item_id , + sr_item_qty +LIMIT 100; diff --git a/sql/benchmarks/tpcds/Tests/83.sql.src b/sql/benchmarks/tpcds/Tests/83.sql.src new file mode 100644 --- /dev/null +++ b/sql/benchmarks/tpcds/Tests/83.sql.src @@ -0,0 +1,1 @@ +$RELSRCDIR/../83.sql _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list