summaryrefslogtreecommitdiffstats
path: root/src/s3select/TPCDS
diff options
context:
space:
mode:
Diffstat (limited to 'src/s3select/TPCDS')
-rw-r--r--src/s3select/TPCDS/ddl/create_tpcds_tables.sql651
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/README.md4
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query1.sql25
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query10.sql59
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query11.sql81
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query12.sql34
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query13.sql52
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query14.sql210
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query15.sql20
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query16.sql31
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query17.sql45
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query18.sql34
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query19.sql25
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query2.sql60
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query20.sql30
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query21.sql30
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query22.sql20
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query23.sql107
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query24.sql107
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query25.sql48
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query26.sql21
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query27.sql23
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query28.sql53
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query29.sql47
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query3.sql21
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query30.sql31
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query31.sql52
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query32.sql28
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query33.sql75
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query34.sql31
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query35.sql58
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query36.sql30
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query37.sql17
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query38.sql23
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query39.sql54
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query4.sql116
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query40.sql28
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query41.sql52
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query42.sql22
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query43.sql19
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query44.sql35
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query45.sql20
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query46.sql35
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query47.sql51
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query48.sql67
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query49.sql129
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query5.sql128
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query50.sql59
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query51.sql45
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query52.sql22
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query53.sql28
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query54.sql56
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query55.sql14
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query56.sql69
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query57.sql48
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query58.sql65
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query59.sql44
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query6.sql26
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query60.sql78
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query61.sql44
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query62.sql35
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query63.sql29
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query64.sql121
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query65.sql29
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query66.sql220
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query67.sql44
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query68.sql42
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query69.sql47
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query7.sql21
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query70.sql38
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query71.sql40
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query72.sql29
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query73.sql28
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query74.sql61
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query75.sql70
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query76.sql24
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query77.sql108
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query78.sql58
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query79.sql23
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query8.sql108
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query80.sql96
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query81.sql31
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query82.sql17
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query83.sql67
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query84.sql21
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query85.sql84
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query86.sql26
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query87.sql23
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query88.sql94
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query89.sql28
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query9.sql51
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query90.sql22
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query91.sql31
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query92.sql30
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query93.sql18
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query94.sql29
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query95.sql32
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query96.sql16
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query97.sql25
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query98.sql33
-rw-r--r--src/s3select/TPCDS/sample-queries-tpcds/query99.sql35
-rw-r--r--src/s3select/TPCDS/tpcds_functions.bash40
102 files changed, 5561 insertions, 0 deletions
diff --git a/src/s3select/TPCDS/ddl/create_tpcds_tables.sql b/src/s3select/TPCDS/ddl/create_tpcds_tables.sql
new file mode 100644
index 000000000..692539b9d
--- /dev/null
+++ b/src/s3select/TPCDS/ddl/create_tpcds_tables.sql
@@ -0,0 +1,651 @@
+-- this DDL can be run from Trino client ( trino --schema XXXX --catalog HHHH -f <create_tables_file> )
+-- the external_location should be modified according to generated data-set
+
+
+-- Table<store_sales (23 cols) partition=ss_sold_date_sk>
+
+drop table if exists store_sales;
+create table store_sales(
+ ss_sold_date_sk bigint
+, ss_sold_time_sk bigint
+, ss_item_sk bigint
+, ss_customer_sk bigint
+, ss_cdemo_sk bigint
+, ss_hdemo_sk bigint
+, ss_addr_sk bigint
+, ss_store_sk bigint
+, ss_promo_sk bigint
+, ss_ticket_number bigint
+, ss_quantity int
+, ss_wholesale_cost decimal(7,2)
+, ss_list_price decimal(7,2)
+, ss_sales_price decimal(7,2)
+, ss_ext_discount_amt decimal(7,2)
+, ss_ext_sales_price decimal(7,2)
+, ss_ext_wholesale_cost decimal(7,2)
+, ss_ext_list_price decimal(7,2)
+, ss_ext_tax decimal(7,2)
+, ss_coupon_amt decimal(7,2)
+, ss_net_paid decimal(7,2)
+, ss_net_paid_inc_tax decimal(7,2)
+, ss_net_profit decimal(7,2)
+)
+with( format = 'TEXTFILE',
+textfile_field_separator = '|',
+external_location = 's3a://tpcds2/4/store_sales');
+;
+
+-- Table<store_returns (20 cols) partition=sr_returned_date_sk>
+
+drop table if exists store_returns;
+create table store_returns(
+ sr_returned_date_sk bigint
+, sr_return_time_sk bigint
+, sr_item_sk bigint
+, sr_customer_sk bigint
+, sr_cdemo_sk bigint
+, sr_hdemo_sk bigint
+, sr_addr_sk bigint
+, sr_store_sk bigint
+, sr_reason_sk bigint
+, sr_ticket_number bigint
+, sr_return_quantity int
+, sr_return_amt decimal(7,2)
+, sr_return_tax decimal(7,2)
+, sr_return_amt_inc_tax decimal(7,2)
+, sr_fee decimal(7,2)
+, sr_return_ship_cost decimal(7,2)
+, sr_refunded_cash decimal(7,2)
+, sr_reversed_charge decimal(7,2)
+, sr_store_credit decimal(7,2)
+, sr_net_loss decimal(7,2)
+)
+with( format = 'TEXTFILE',
+textfile_field_separator = '|',
+external_location = 's3a://tpcds2/4/store_returns');
+;
+
+-- Table<catalog_sales (34 cols) partition=cs_sold_date_sk>
+
+drop table if exists catalog_sales;
+create table catalog_sales(
+ cs_sold_date_sk bigint
+, cs_sold_time_sk bigint
+, cs_ship_date_sk bigint
+, cs_bill_customer_sk bigint
+, cs_bill_cdemo_sk bigint
+, cs_bill_hdemo_sk bigint
+, cs_bill_addr_sk bigint
+, cs_ship_customer_sk bigint
+, cs_ship_cdemo_sk bigint
+, cs_ship_hdemo_sk bigint
+, cs_ship_addr_sk bigint
+, cs_call_center_sk bigint
+, cs_catalog_page_sk bigint
+, cs_ship_mode_sk bigint
+, cs_warehouse_sk bigint
+, cs_item_sk bigint
+, cs_promo_sk bigint
+, cs_order_number bigint
+, cs_quantity int
+, cs_wholesale_cost decimal(7,2)
+, cs_list_price decimal(7,2)
+, cs_sales_price decimal(7,2)
+, cs_ext_discount_amt decimal(7,2)
+, cs_ext_sales_price decimal(7,2)
+, cs_ext_wholesale_cost decimal(7,2)
+, cs_ext_list_price decimal(7,2)
+, cs_ext_tax decimal(7,2)
+, cs_coupon_amt decimal(7,2)
+, cs_ext_ship_cost decimal(7,2)
+, cs_net_paid decimal(7,2)
+, cs_net_paid_inc_tax decimal(7,2)
+, cs_net_paid_inc_ship decimal(7,2)
+, cs_net_paid_inc_ship_tax decimal(7,2)
+, cs_net_profit decimal(7,2)
+)
+with( format = 'TEXTFILE',
+textfile_field_separator = '|',
+external_location = 's3a://tpcds2/4/catalog_sales');
+;
+
+-- Table<catalog_returns (27 cols) partition=cr_returned_date_sk>
+
+drop table if exists catalog_returns;
+create table catalog_returns(
+ cr_returned_date_sk bigint
+, cr_returned_time_sk bigint
+, cr_item_sk bigint
+, cr_refunded_customer_sk bigint
+, cr_refunded_cdemo_sk bigint
+, cr_refunded_hdemo_sk bigint
+, cr_refunded_addr_sk bigint
+, cr_returning_customer_sk bigint
+, cr_returning_cdemo_sk bigint
+, cr_returning_hdemo_sk bigint
+, cr_returning_addr_sk bigint
+, cr_call_center_sk bigint
+, cr_catalog_page_sk bigint
+, cr_ship_mode_sk bigint
+, cr_warehouse_sk bigint
+, cr_reason_sk bigint
+, cr_order_number bigint
+, cr_return_quantity int
+, cr_return_amount decimal(7,2)
+, cr_return_tax decimal(7,2)
+, cr_return_amt_inc_tax decimal(7,2)
+, cr_fee decimal(7,2)
+, cr_return_ship_cost decimal(7,2)
+, cr_refunded_cash decimal(7,2)
+, cr_reversed_charge decimal(7,2)
+, cr_store_credit decimal(7,2)
+, cr_net_loss decimal(7,2)
+)
+with( format = 'TEXTFILE',
+textfile_field_separator = '|',
+external_location = 's3a://tpcds2/4/catalog_returns');
+;
+
+-- Table<web_sales (34 cols) partition=ws_sold_date_sk>
+
+drop table if exists web_sales;
+create table web_sales(
+ ws_sold_date_sk bigint
+, ws_sold_time_sk bigint
+, ws_ship_date_sk bigint
+, ws_item_sk bigint
+, ws_bill_customer_sk bigint
+, ws_bill_cdemo_sk bigint
+, ws_bill_hdemo_sk bigint
+, ws_bill_addr_sk bigint
+, ws_ship_customer_sk bigint
+, ws_ship_cdemo_sk bigint
+, ws_ship_hdemo_sk bigint
+, ws_ship_addr_sk bigint
+, ws_web_page_sk bigint
+, ws_web_site_sk bigint
+, ws_ship_mode_sk bigint
+, ws_warehouse_sk bigint
+, ws_promo_sk bigint
+, ws_order_number bigint
+, ws_quantity int
+, ws_wholesale_cost decimal(7,2)
+, ws_list_price decimal(7,2)
+, ws_sales_price decimal(7,2)
+, ws_ext_discount_amt decimal(7,2)
+, ws_ext_sales_price decimal(7,2)
+, ws_ext_wholesale_cost decimal(7,2)
+, ws_ext_list_price decimal(7,2)
+, ws_ext_tax decimal(7,2)
+, ws_coupon_amt decimal(7,2)
+, ws_ext_ship_cost decimal(7,2)
+, ws_net_paid decimal(7,2)
+, ws_net_paid_inc_tax decimal(7,2)
+, ws_net_paid_inc_ship decimal(7,2)
+, ws_net_paid_inc_ship_tax decimal(7,2)
+, ws_net_profit decimal(7,2)
+)
+with( format = 'TEXTFILE',
+textfile_field_separator = '|',
+external_location = 's3a://tpcds2/4/web_sales');
+;
+
+-- Table<web_returns (24 cols) partition=wr_returned_date_sk>
+
+drop table if exists web_returns;
+create table web_returns(
+ wr_returned_date_sk bigint
+, wr_returned_time_sk bigint
+, wr_item_sk bigint
+, wr_refunded_customer_sk bigint
+, wr_refunded_cdemo_sk bigint
+, wr_refunded_hdemo_sk bigint
+, wr_refunded_addr_sk bigint
+, wr_returning_customer_sk bigint
+, wr_returning_cdemo_sk bigint
+, wr_returning_hdemo_sk bigint
+, wr_returning_addr_sk bigint
+, wr_web_page_sk bigint
+, wr_reason_sk bigint
+, wr_order_number bigint
+, wr_return_quantity int
+, wr_return_amt decimal(7,2)
+, wr_return_tax decimal(7,2)
+, wr_return_amt_inc_tax decimal(7,2)
+, wr_fee decimal(7,2)
+, wr_return_ship_cost decimal(7,2)
+, wr_refunded_cash decimal(7,2)
+, wr_reversed_charge decimal(7,2)
+, wr_account_credit decimal(7,2)
+, wr_net_loss decimal(7,2)
+)
+with( format = 'TEXTFILE',
+textfile_field_separator = '|',
+external_location = 's3a://tpcds2/4/web_returns');
+;
+
+-- Table<inventory (4 cols)>
+
+drop table if exists inventory;
+create table inventory(
+ inv_date_sk bigint
+, inv_item_sk bigint
+, inv_warehouse_sk bigint
+, inv_quantity_on_hand int
+)
+with( format = 'TEXTFILE',
+textfile_field_separator = '|',
+external_location = 's3a://tpcds2/4/inventory');
+
+-- Table<store (29 cols)>
+
+drop table if exists store;
+create table store(
+ s_store_sk bigint
+, s_store_id varchar
+, s_rec_start_date date
+, s_rec_end_date date
+, s_closed_date_sk bigint
+, s_store_name varchar
+, s_number_employees int
+, s_floor_space int
+, s_hours varchar
+, S_manager varchar
+, S_market_id int
+, S_geography_class varchar
+, S_market_desc varchar
+, s_market_manager varchar
+, s_division_id int
+, s_division_name varchar
+, s_company_id int
+, s_company_name varchar
+, s_street_number varchar
+, s_street_name varchar
+, s_street_type varchar
+, s_suite_number varchar
+, s_city varchar
+, s_county varchar
+, s_state varchar
+, s_zip varchar
+, s_country varchar
+, s_gmt_offset decimal(5,2)
+, s_tax_percentage decimal(5,2)
+)
+with( format = 'TEXTFILE',
+textfile_field_separator = '|',
+external_location = 's3a://tpcds2/4/store');
+
+-- Table<call_center (31 cols)>
+
+drop table if exists call_center;
+create table call_center(
+ cc_call_center_sk bigint
+, cc_call_center_id varchar
+, cc_rec_start_date date
+, cc_rec_end_date date
+, cc_closed_date_sk bigint
+, cc_open_date_sk bigint
+, cc_name varchar
+, cc_class varchar
+, cc_employees int
+, cc_sq_ft int
+, cc_hours varchar
+, cc_manager varchar
+, cc_mkt_id int
+, cc_mkt_class varchar
+, cc_mkt_desc varchar
+, cc_market_manager varchar
+, cc_division int
+, cc_division_name varchar
+, cc_company int
+, cc_company_name varchar
+, cc_street_number varchar
+, cc_street_name varchar
+, cc_street_type varchar
+, cc_suite_number varchar
+, cc_city varchar
+, cc_county varchar
+, cc_state varchar
+, cc_zip varchar
+, cc_country varchar
+, cc_gmt_offset decimal(5,2)
+, cc_tax_percentage decimal(5,2)
+)
+with( format = 'TEXTFILE',
+textfile_field_separator = '|',
+external_location = 's3a://tpcds2/4/call_center');
+
+-- Table<catalog_page (9 cols)>
+
+drop table if exists catalog_page;
+create table catalog_page(
+ cp_catalog_page_sk bigint
+, cp_catalog_page_id varchar
+, cp_start_date_sk bigint
+, cp_end_date_sk bigint
+, cp_department varchar
+, cp_catalog_number int
+, cp_catalog_page_number int
+, cp_description varchar
+, cp_type varchar
+)
+with( format = 'TEXTFILE',
+textfile_field_separator = '|',
+external_location = 's3a://tpcds2/4/catalog_page');
+
+-- Table<web_site (26 cols)>
+
+drop table if exists web_site;
+create table web_site(
+ web_site_sk bigint
+, web_site_id varchar
+, web_rec_start_date date
+, web_rec_end_date date
+, web_name varchar
+, web_open_date_sk bigint
+, web_close_date_sk bigint
+, web_class varchar
+, web_manager varchar
+, web_mkt_id int
+, web_mkt_class varchar
+, web_mkt_desc varchar
+, web_market_manager varchar
+, web_company_id int
+, web_company_name varchar
+, web_street_number varchar
+, web_street_name varchar
+, web_street_type varchar
+, web_suite_number varchar
+, web_city varchar
+, web_county varchar
+, web_state varchar
+, web_zip varchar
+, web_country varchar
+, web_gmt_offset decimal(5,2)
+, web_tax_percentage decimal(5,2)
+)
+with( format = 'TEXTFILE',
+textfile_field_separator = '|',
+external_location = 's3a://tpcds2/4/web_site');
+
+-- Table<web_page (14 cols)>
+
+drop table if exists web_page;
+create table web_page(
+ wp_web_page_sk bigint
+, wp_web_page_id varchar
+, wp_rec_start_date date
+, wp_rec_end_date date
+, wp_creation_date_sk bigint
+, wp_access_date_sk bigint
+, wp_autogen_flag varchar
+, wp_customer_sk bigint
+, wp_url varchar
+, wp_type varchar
+, wp_char_count int
+, wp_link_count int
+, wp_image_count int
+, wp_max_ad_count int
+)
+with( format = 'TEXTFILE',
+textfile_field_separator = '|',
+external_location = 's3a://tpcds2/4/web_page');
+
+-- Table<warehouse (14 cols)>
+
+drop table if exists warehouse;
+create table warehouse(
+ w_warehouse_sk bigint
+, w_warehouse_id varchar
+, w_warehouse_name varchar
+, w_warehouse_sq_ft int
+, w_street_number varchar
+, w_street_name varchar
+, w_street_type varchar
+, w_suite_number varchar
+, w_city varchar
+, w_county varchar
+, w_state varchar
+, w_zip varchar
+, w_country varchar
+, w_gmt_offset decimal(5,2)
+)
+with( format = 'TEXTFILE',
+textfile_field_separator = '|',
+external_location = 's3a://tpcds2/4/warehouse');
+
+-- Table<customer (18 cols)>
+
+drop table if exists customer;
+create table customer(
+ c_customer_sk bigint
+, c_customer_id varchar
+, c_current_cdemo_sk bigint
+, c_current_hdemo_sk bigint
+, c_current_addr_sk bigint
+, c_first_shipto_date_sk bigint
+, c_first_sales_date_sk bigint
+, c_salutation varchar
+, c_first_name varchar
+, c_last_name varchar
+, c_preferred_cust_flag varchar
+, c_birth_day int
+, c_birth_month int
+, c_birth_year int
+, c_birth_country varchar
+, c_login varchar
+, c_email_address varchar
+, c_last_review_date_sk bigint
+)
+with( format = 'TEXTFILE',
+textfile_field_separator = '|',
+external_location = 's3a://tpcds2/4/customer');
+
+-- Table<customer_address (13 cols)>
+
+drop table if exists customer_address;
+create table customer_address(
+ ca_address_sk bigint
+, ca_address_id varchar
+, ca_street_number varchar
+, ca_street_name varchar
+, ca_street_type varchar
+, ca_suite_number varchar
+, ca_city varchar
+, ca_county varchar
+, ca_state varchar
+, ca_zip varchar
+, ca_country varchar
+, ca_gmt_offset decimal(5,2)
+, ca_location_type varchar
+)
+with( format = 'TEXTFILE',
+textfile_field_separator = '|',
+external_location = 's3a://tpcds2/4/customer_address');
+
+-- Table<customer_demographics (9 cols)>
+
+drop table if exists customer_demographics;
+create table customer_demographics(
+ cd_demo_sk bigint
+, cd_gender varchar
+, cd_marital_status varchar
+, cd_education_status varchar
+, cd_purchase_estimate int
+, cd_credit_rating varchar
+, cd_dep_count int
+, cd_dep_employed_count int
+, cd_dep_college_count int
+)
+with( format = 'TEXTFILE',
+textfile_field_separator = '|',
+external_location = 's3a://tpcds2/4/customer_demographics');
+
+-- Table<date_dim (28 cols)>
+
+drop table if exists date_dim;
+create table date_dim(
+ d_date_sk bigint
+, d_date_id varchar
+, d_date date
+, d_month_seq int
+, d_week_seq int
+, d_quarter_seq int
+, d_year int
+, d_dow int
+, d_moy int
+, d_dom int
+, d_qoy int
+, d_fy_year int
+, d_fy_quarter_seq int
+, d_fy_week_seq int
+, d_day_name varchar
+, d_quarter_name varchar
+, d_holiday varchar
+, d_weekend varchar
+, d_following_holiday varchar
+, d_first_dom int
+, d_last_dom int
+, d_same_day_ly int
+, d_same_day_lq int
+, d_current_day varchar
+, d_current_week varchar
+, d_current_month varchar
+, d_current_quarter varchar
+, d_current_year varchar
+)
+with( format = 'TEXTFILE',
+textfile_field_separator = '|',
+external_location = 's3a://tpcds2/4/date_dim');
+
+-- Table<household_demographics (5 cols)>
+
+drop table if exists household_demographics;
+create table household_demographics(
+ hd_demo_sk bigint
+, hd_income_band_sk bigint
+, hd_buy_potential varchar
+, hd_dep_count int
+, hd_vehicle_count int
+)
+with( format = 'TEXTFILE',
+textfile_field_separator = '|',
+external_location = 's3a://tpcds2/4/household_demographics');
+
+-- Table<item (22 cols)>
+
+drop table if exists item;
+create table item(
+ i_item_sk bigint
+, i_item_id varchar
+, i_rec_start_date date
+, i_rec_end_date date
+, i_item_desc varchar
+, i_current_price decimal(7,2)
+, i_wholesale_cost decimal(7,2)
+, i_brand_id int
+, i_brand varchar
+, i_class_id int
+, i_class varchar
+, i_category_id int
+, i_category varchar
+, i_manufact_id int
+, i_manufact varchar
+, i_size varchar
+, i_formulation varchar
+, i_color varchar
+, i_units varchar
+, i_container varchar
+, i_manager_id int
+, i_product_name varchar
+)
+with( format = 'TEXTFILE',
+textfile_field_separator = '|',
+external_location = 's3a://tpcds2/4/item');
+
+-- Table<income_band (3 cols)>
+
+drop table if exists income_band;
+create table income_band(
+ ib_income_band_sk bigint
+, ib_lower_bound int
+, ib_upper_bound int
+)
+with( format = 'TEXTFILE',
+textfile_field_separator = '|',
+external_location = 's3a://tpcds2/4/income_band');
+
+-- Table<promotion (19 cols)>
+
+drop table if exists promotion;
+create table promotion(
+ p_promo_sk bigint
+, p_promo_id varchar
+, p_start_date_sk bigint
+, p_end_date_sk bigint
+, p_item_sk bigint
+, p_cost decimal(15,2)
+, p_response_target int
+, p_promo_name varchar
+, p_channel_dmail varchar
+, p_channel_email varchar
+, p_channel_catalog varchar
+, p_channel_tv varchar
+, p_channel_radio varchar
+, p_channel_press varchar
+, p_channel_event varchar
+, p_channel_demo varchar
+, p_channel_details varchar
+, p_purpose varchar
+, p_discount_active varchar
+)
+with( format = 'TEXTFILE',
+textfile_field_separator = '|',
+external_location = 's3a://tpcds2/4/promotion');
+
+-- Table<reason (3 cols)>
+
+drop table if exists reason;
+create table reason(
+ r_reason_sk bigint
+, r_reason_id varchar
+, r_reason_desc varchar
+)
+with( format = 'TEXTFILE',
+textfile_field_separator = '|',
+external_location = 's3a://tpcds2/4/reason');
+
+-- Table<ship_mode (6 cols)>
+
+drop table if exists ship_mode;
+create table ship_mode(
+ sm_ship_mode_sk bigint
+, sm_ship_mode_id varchar
+, sm_type varchar
+, sm_code varchar
+, sm_carrier varchar
+, sm_contract varchar
+)
+with( format = 'TEXTFILE',
+textfile_field_separator = '|',
+external_location = 's3a://tpcds2/4/ship_mode');
+
+-- Table<time_dim (10 cols)>
+
+drop table if exists time_dim;
+create table time_dim(
+ t_time_sk bigint
+, t_time_id varchar
+, t_time int
+, t_hour int
+, t_minute int
+, t_second int
+, t_am_pm varchar
+, t_shift varchar
+, t_sub_shift varchar
+, t_meal_time varchar
+)
+with( format = 'TEXTFILE',
+textfile_field_separator = '|',
+external_location = 's3a://tpcds2/4/time_dim');
+
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/README.md b/src/s3select/TPCDS/sample-queries-tpcds/README.md
new file mode 100644
index 000000000..3fc71c50e
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/README.md
@@ -0,0 +1,4 @@
+Sample TPC-DS Queries
+=====================
+
+This directory contains sample TPC-DS queries you can run once you have generated your data. Queries are compatible with HDP 2.6 and up.
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query1.sql b/src/s3select/TPCDS/sample-queries-tpcds/query1.sql
new file mode 100644
index 000000000..c201f7334
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query1.sql
@@ -0,0 +1,25 @@
+-- start query 1 in stream 0 using template query1.tpl and seed 2031708268
+with customer_total_return as
+(select sr_customer_sk as ctr_customer_sk
+,sr_store_sk as ctr_store_sk
+,sum(SR_FEE) as ctr_total_return
+from store_returns
+,date_dim
+where sr_returned_date_sk = d_date_sk
+and d_year =2000
+group by sr_customer_sk
+,sr_store_sk)
+ select c_customer_id
+from customer_total_return ctr1
+,store
+,customer
+where ctr1.ctr_total_return > (select avg(ctr_total_return)*1.2
+from customer_total_return ctr2
+where ctr1.ctr_store_sk = ctr2.ctr_store_sk)
+and s_store_sk = ctr1.ctr_store_sk
+and s_state = 'NM'
+and ctr1.ctr_customer_sk = c_customer_sk
+order by c_customer_id
+limit 100;
+
+-- end query 1 in stream 0 using template query1.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query10.sql b/src/s3select/TPCDS/sample-queries-tpcds/query10.sql
new file mode 100644
index 000000000..c5b4ac247
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query10.sql
@@ -0,0 +1,59 @@
+-- start query 1 in stream 0 using template query10.tpl and seed 797269820
+select
+ cd_gender,
+ cd_marital_status,
+ cd_education_status,
+ count(*) cnt1,
+ cd_purchase_estimate,
+ count(*) cnt2,
+ cd_credit_rating,
+ count(*) cnt3,
+ cd_dep_count,
+ count(*) cnt4,
+ cd_dep_employed_count,
+ count(*) cnt5,
+ cd_dep_college_count,
+ count(*) cnt6
+ from
+ customer c,customer_address ca,customer_demographics
+ where
+ c.c_current_addr_sk = ca.ca_address_sk and
+ ca_county in ('Fillmore County','McPherson County','Bonneville County','Boone County','Brown County') and
+ cd_demo_sk = c.c_current_cdemo_sk and
+ exists (select *
+ from store_sales,date_dim
+ where c.c_customer_sk = ss_customer_sk and
+ ss_sold_date_sk = d_date_sk and
+ d_year = 2000 and
+ d_moy between 3 and 3+3) and
+ (exists (select *
+ from web_sales,date_dim
+ where c.c_customer_sk = ws_bill_customer_sk and
+ ws_sold_date_sk = d_date_sk and
+ d_year = 2000 and
+ d_moy between 3 ANd 3+3) or
+ exists (select *
+ from catalog_sales,date_dim
+ where c.c_customer_sk = cs_ship_customer_sk and
+ cs_sold_date_sk = d_date_sk and
+ d_year = 2000 and
+ d_moy between 3 and 3+3))
+ group by cd_gender,
+ cd_marital_status,
+ cd_education_status,
+ cd_purchase_estimate,
+ cd_credit_rating,
+ cd_dep_count,
+ cd_dep_employed_count,
+ cd_dep_college_count
+ order by cd_gender,
+ cd_marital_status,
+ cd_education_status,
+ cd_purchase_estimate,
+ cd_credit_rating,
+ cd_dep_count,
+ cd_dep_employed_count,
+ cd_dep_college_count
+limit 100;
+
+-- end query 1 in stream 0 using template query10.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query11.sql b/src/s3select/TPCDS/sample-queries-tpcds/query11.sql
new file mode 100644
index 000000000..156d9da5e
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query11.sql
@@ -0,0 +1,81 @@
+-- start query 1 in stream 0 using template query11.tpl and seed 1819994127
+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_birth_country
+ 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 = 1999
+ and t_s_secyear.dyear = 1999+1
+ and t_w_firstyear.dyear = 1999
+ and t_w_secyear.dyear = 1999+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_birth_country
+limit 100;
+
+-- end query 1 in stream 0 using template query11.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query12.sql b/src/s3select/TPCDS/sample-queries-tpcds/query12.sql
new file mode 100644
index 000000000..077223c32
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query12.sql
@@ -0,0 +1,34 @@
+-- start query 1 in stream 0 using template query12.tpl and seed 345591136
+select i_item_id
+ ,i_item_desc
+ ,i_category
+ ,i_class
+ ,i_current_price
+ ,sum(ws_ext_sales_price) as itemrevenue
+ ,sum(ws_ext_sales_price)*100/sum(sum(ws_ext_sales_price)) over
+ (partition by i_class) as revenueratio
+from
+ web_sales
+ ,item
+ ,date_dim
+where
+ ws_item_sk = i_item_sk
+ and i_category in ('Electronics', 'Books', 'Women')
+ and ws_sold_date_sk = d_date_sk
+ and d_date between cast('1998-01-06' as date)
+ and (cast('1998-01-06' as date) + interval '30' day)
+group by
+ i_item_id
+ ,i_item_desc
+ ,i_category
+ ,i_class
+ ,i_current_price
+order by
+ i_category
+ ,i_class
+ ,i_item_id
+ ,i_item_desc
+ ,revenueratio
+limit 100;
+
+-- end query 1 in stream 0 using template query12.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query13.sql b/src/s3select/TPCDS/sample-queries-tpcds/query13.sql
new file mode 100644
index 000000000..cdef84660
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query13.sql
@@ -0,0 +1,52 @@
+-- start query 1 in stream 0 using template query13.tpl and seed 622697896
+select avg(ss_quantity)
+ ,avg(ss_ext_sales_price)
+ ,avg(ss_ext_wholesale_cost)
+ ,sum(ss_ext_wholesale_cost)
+ from store_sales
+ ,store
+ ,customer_demographics
+ ,household_demographics
+ ,customer_address
+ ,date_dim
+ where s_store_sk = ss_store_sk
+ and ss_sold_date_sk = d_date_sk and d_year = 2001
+ and((ss_hdemo_sk=hd_demo_sk
+ and cd_demo_sk = ss_cdemo_sk
+ and cd_marital_status = 'U'
+ and cd_education_status = 'Secondary'
+ and ss_sales_price between 100.00 and 150.00
+ and hd_dep_count = 3
+ )or
+ (ss_hdemo_sk=hd_demo_sk
+ and cd_demo_sk = ss_cdemo_sk
+ and cd_marital_status = 'W'
+ and cd_education_status = 'College'
+ and ss_sales_price between 50.00 and 100.00
+ and hd_dep_count = 1
+ ) or
+ (ss_hdemo_sk=hd_demo_sk
+ and cd_demo_sk = ss_cdemo_sk
+ and cd_marital_status = 'D'
+ and cd_education_status = 'Primary'
+ and ss_sales_price between 150.00 and 200.00
+ and hd_dep_count = 1
+ ))
+ and((ss_addr_sk = ca_address_sk
+ and ca_country = 'United States'
+ and ca_state in ('TX', 'OK', 'MI')
+ and ss_net_profit between 100 and 200
+ ) or
+ (ss_addr_sk = ca_address_sk
+ and ca_country = 'United States'
+ and ca_state in ('WA', 'NC', 'OH')
+ and ss_net_profit between 150 and 300
+ ) or
+ (ss_addr_sk = ca_address_sk
+ and ca_country = 'United States'
+ and ca_state in ('MT', 'FL', 'GA')
+ and ss_net_profit between 50 and 250
+ ))
+;
+
+-- end query 1 in stream 0 using template query13.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query14.sql b/src/s3select/TPCDS/sample-queries-tpcds/query14.sql
new file mode 100644
index 000000000..923814404
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query14.sql
@@ -0,0 +1,210 @@
+-- start query 1 in stream 0 using template query14.tpl and seed 1819994127
+with cross_items as
+ (select i_item_sk ss_item_sk
+ from item,
+ (select iss.i_brand_id brand_id
+ ,iss.i_class_id class_id
+ ,iss.i_category_id category_id
+ from store_sales
+ ,item iss
+ ,date_dim d1
+ where ss_item_sk = iss.i_item_sk
+ and ss_sold_date_sk = d1.d_date_sk
+ and d1.d_year between 2000 AND 2000 + 2
+ intersect
+ select ics.i_brand_id
+ ,ics.i_class_id
+ ,ics.i_category_id
+ from catalog_sales
+ ,item ics
+ ,date_dim d2
+ where cs_item_sk = ics.i_item_sk
+ and cs_sold_date_sk = d2.d_date_sk
+ and d2.d_year between 2000 AND 2000 + 2
+ intersect
+ select iws.i_brand_id
+ ,iws.i_class_id
+ ,iws.i_category_id
+ from web_sales
+ ,item iws
+ ,date_dim d3
+ where ws_item_sk = iws.i_item_sk
+ and ws_sold_date_sk = d3.d_date_sk
+ and d3.d_year between 2000 AND 2000 + 2) x
+ where i_brand_id = brand_id
+ and i_class_id = class_id
+ and i_category_id = category_id
+),
+ avg_sales as
+ (select avg(quantity*list_price) average_sales
+ from (select ss_quantity quantity
+ ,ss_list_price list_price
+ from store_sales
+ ,date_dim
+ where ss_sold_date_sk = d_date_sk
+ and d_year between 2000 and 2000 + 2
+ union all
+ select cs_quantity quantity
+ ,cs_list_price list_price
+ from catalog_sales
+ ,date_dim
+ where cs_sold_date_sk = d_date_sk
+ and d_year between 2000 and 2000 + 2
+ union all
+ select ws_quantity quantity
+ ,ws_list_price list_price
+ from web_sales
+ ,date_dim
+ where ws_sold_date_sk = d_date_sk
+ and d_year between 2000 and 2000 + 2) x)
+ select channel, i_brand_id,i_class_id,i_category_id,sum(sales), sum(number_sales)
+ from(
+ select 'store' channel, i_brand_id,i_class_id
+ ,i_category_id,sum(ss_quantity*ss_list_price) sales
+ , count(*) number_sales
+ from store_sales
+ ,item
+ ,date_dim
+ where ss_item_sk in (select ss_item_sk from cross_items)
+ and ss_item_sk = i_item_sk
+ and ss_sold_date_sk = d_date_sk
+ and d_year = 2000+2
+ and d_moy = 11
+ group by i_brand_id,i_class_id,i_category_id
+ having sum(ss_quantity*ss_list_price) > (select average_sales from avg_sales)
+ union all
+ select 'catalog' channel, i_brand_id,i_class_id,i_category_id, sum(cs_quantity*cs_list_price) sales, count(*) number_sales
+ from catalog_sales
+ ,item
+ ,date_dim
+ where cs_item_sk in (select ss_item_sk from cross_items)
+ and cs_item_sk = i_item_sk
+ and cs_sold_date_sk = d_date_sk
+ and d_year = 2000+2
+ and d_moy = 11
+ group by i_brand_id,i_class_id,i_category_id
+ having sum(cs_quantity*cs_list_price) > (select average_sales from avg_sales)
+ union all
+ select 'web' channel, i_brand_id,i_class_id,i_category_id, sum(ws_quantity*ws_list_price) sales , count(*) number_sales
+ from web_sales
+ ,item
+ ,date_dim
+ where ws_item_sk in (select ss_item_sk from cross_items)
+ and ws_item_sk = i_item_sk
+ and ws_sold_date_sk = d_date_sk
+ and d_year = 2000+2
+ and d_moy = 11
+ group by i_brand_id,i_class_id,i_category_id
+ having sum(ws_quantity*ws_list_price) > (select average_sales from avg_sales)
+ ) y
+ group by rollup (channel, i_brand_id,i_class_id,i_category_id)
+ order by channel,i_brand_id,i_class_id,i_category_id
+ limit 100;
+with cross_items as
+ (select i_item_sk ss_item_sk
+ from item,
+ (select iss.i_brand_id brand_id
+ ,iss.i_class_id class_id
+ ,iss.i_category_id category_id
+ from store_sales
+ ,item iss
+ ,date_dim d1
+ where ss_item_sk = iss.i_item_sk
+ and ss_sold_date_sk = d1.d_date_sk
+ and d1.d_year between 2000 AND 2000 + 2
+ intersect
+ select ics.i_brand_id
+ ,ics.i_class_id
+ ,ics.i_category_id
+ from catalog_sales
+ ,item ics
+ ,date_dim d2
+ where cs_item_sk = ics.i_item_sk
+ and cs_sold_date_sk = d2.d_date_sk
+ and d2.d_year between 2000 AND 2000 + 2
+ intersect
+ select iws.i_brand_id
+ ,iws.i_class_id
+ ,iws.i_category_id
+ from web_sales
+ ,item iws
+ ,date_dim d3
+ where ws_item_sk = iws.i_item_sk
+ and ws_sold_date_sk = d3.d_date_sk
+ and d3.d_year between 2000 AND 2000 + 2) x
+ where i_brand_id = brand_id
+ and i_class_id = class_id
+ and i_category_id = category_id
+),
+ avg_sales as
+(select avg(quantity*list_price) average_sales
+ from (select ss_quantity quantity
+ ,ss_list_price list_price
+ from store_sales
+ ,date_dim
+ where ss_sold_date_sk = d_date_sk
+ and d_year between 2000 and 2000 + 2
+ union all
+ select cs_quantity quantity
+ ,cs_list_price list_price
+ from catalog_sales
+ ,date_dim
+ where cs_sold_date_sk = d_date_sk
+ and d_year between 2000 and 2000 + 2
+ union all
+ select ws_quantity quantity
+ ,ws_list_price list_price
+ from web_sales
+ ,date_dim
+ where ws_sold_date_sk = d_date_sk
+ and d_year between 2000 and 2000 + 2) x)
+ select this_year.channel ty_channel
+ ,this_year.i_brand_id ty_brand
+ ,this_year.i_class_id ty_class
+ ,this_year.i_category_id ty_category
+ ,this_year.sales ty_sales
+ ,this_year.number_sales ty_number_sales
+ ,last_year.channel ly_channel
+ ,last_year.i_brand_id ly_brand
+ ,last_year.i_class_id ly_class
+ ,last_year.i_category_id ly_category
+ ,last_year.sales ly_sales
+ ,last_year.number_sales ly_number_sales
+ from
+ (select 'store' channel, i_brand_id,i_class_id,i_category_id
+ ,sum(ss_quantity*ss_list_price) sales, count(*) number_sales
+ from store_sales
+ ,item
+ ,date_dim
+ where ss_item_sk in (select ss_item_sk from cross_items)
+ and ss_item_sk = i_item_sk
+ and ss_sold_date_sk = d_date_sk
+ and d_week_seq = (select d_week_seq
+ from date_dim
+ where d_year = 2000 + 1
+ and d_moy = 12
+ and d_dom = 15)
+ group by i_brand_id,i_class_id,i_category_id
+ having sum(ss_quantity*ss_list_price) > (select average_sales from avg_sales)) this_year,
+ (select 'store' channel, i_brand_id,i_class_id
+ ,i_category_id, sum(ss_quantity*ss_list_price) sales, count(*) number_sales
+ from store_sales
+ ,item
+ ,date_dim
+ where ss_item_sk in (select ss_item_sk from cross_items)
+ and ss_item_sk = i_item_sk
+ and ss_sold_date_sk = d_date_sk
+ and d_week_seq = (select d_week_seq
+ from date_dim
+ where d_year = 2000
+ and d_moy = 12
+ and d_dom = 15)
+ group by i_brand_id,i_class_id,i_category_id
+ having sum(ss_quantity*ss_list_price) > (select average_sales from avg_sales)) last_year
+ where this_year.i_brand_id= last_year.i_brand_id
+ and this_year.i_class_id = last_year.i_class_id
+ and this_year.i_category_id = last_year.i_category_id
+ order by this_year.channel, this_year.i_brand_id, this_year.i_class_id, this_year.i_category_id
+ limit 100;
+
+-- end query 1 in stream 0 using template query14.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query15.sql b/src/s3select/TPCDS/sample-queries-tpcds/query15.sql
new file mode 100644
index 000000000..cb489cf33
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query15.sql
@@ -0,0 +1,20 @@
+-- start query 1 in stream 0 using template query15.tpl and seed 1819994127
+select ca_zip
+ ,sum(cs_sales_price)
+ from catalog_sales
+ ,customer
+ ,customer_address
+ ,date_dim
+ where cs_bill_customer_sk = c_customer_sk
+ and c_current_addr_sk = ca_address_sk
+ and ( substr(ca_zip,1,5) in ('85669', '86197','88274','83405','86475',
+ '85392', '85460', '80348', '81792')
+ or ca_state in ('CA','WA','GA')
+ or cs_sales_price > 500)
+ and cs_sold_date_sk = d_date_sk
+ and d_qoy = 2 and d_year = 1998
+ group by ca_zip
+ order by ca_zip
+ limit 100;
+
+-- end query 1 in stream 0 using template query15.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query16.sql b/src/s3select/TPCDS/sample-queries-tpcds/query16.sql
new file mode 100644
index 000000000..f942c731f
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query16.sql
@@ -0,0 +1,31 @@
+-- start query 1 in stream 0 using template query16.tpl and seed 171719422
+select
+ count(distinct cs_order_number) as "order count"
+ ,sum(cs_ext_ship_cost) as "total shipping cost"
+ ,sum(cs_net_profit) as "total net profit"
+from
+ catalog_sales cs1
+ ,date_dim
+ ,customer_address
+ ,call_center
+where
+ d_date between cast('1999-4-01' as date) and
+ (cast('1999-4-01' as date) + interval '60' day)
+and cs1.cs_ship_date_sk = d_date_sk
+and cs1.cs_ship_addr_sk = ca_address_sk
+and ca_state = 'IL'
+and cs1.cs_call_center_sk = cc_call_center_sk
+and cc_county in ('Richland County','Bronx County','Maverick County','Mesa County',
+ 'Raleigh County'
+)
+and exists (select *
+ from catalog_sales cs2
+ where cs1.cs_order_number = cs2.cs_order_number
+ and cs1.cs_warehouse_sk <> cs2.cs_warehouse_sk)
+and not exists(select *
+ from catalog_returns cr1
+ where cs1.cs_order_number = cr1.cr_order_number)
+order by count(distinct cs_order_number)
+limit 100;
+
+-- end query 1 in stream 0 using template query16.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query17.sql b/src/s3select/TPCDS/sample-queries-tpcds/query17.sql
new file mode 100644
index 000000000..b369def17
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query17.sql
@@ -0,0 +1,45 @@
+-- start query 1 in stream 0 using template query17.tpl and seed 1819994127
+select i_item_id
+ ,i_item_desc
+ ,s_state
+ ,count(ss_quantity) as store_sales_quantitycount
+ ,avg(ss_quantity) as store_sales_quantityave
+ ,stddev_samp(ss_quantity) as store_sales_quantitystdev
+ ,stddev_samp(ss_quantity)/avg(ss_quantity) as store_sales_quantitycov
+ ,count(sr_return_quantity) as store_returns_quantitycount
+ ,avg(sr_return_quantity) as store_returns_quantityave
+ ,stddev_samp(sr_return_quantity) as store_returns_quantitystdev
+ ,stddev_samp(sr_return_quantity)/avg(sr_return_quantity) as store_returns_quantitycov
+ ,count(cs_quantity) as catalog_sales_quantitycount ,avg(cs_quantity) as catalog_sales_quantityave
+ ,stddev_samp(cs_quantity) as catalog_sales_quantitystdev
+ ,stddev_samp(cs_quantity)/avg(cs_quantity) as catalog_sales_quantitycov
+ from store_sales
+ ,store_returns
+ ,catalog_sales
+ ,date_dim d1
+ ,date_dim d2
+ ,date_dim d3
+ ,store
+ ,item
+ where d1.d_quarter_name = '2000Q1'
+ and d1.d_date_sk = ss_sold_date_sk
+ and i_item_sk = ss_item_sk
+ and s_store_sk = ss_store_sk
+ and ss_customer_sk = sr_customer_sk
+ and ss_item_sk = sr_item_sk
+ and ss_ticket_number = sr_ticket_number
+ and sr_returned_date_sk = d2.d_date_sk
+ and d2.d_quarter_name in ('2000Q1','2000Q2','2000Q3')
+ and sr_customer_sk = cs_bill_customer_sk
+ and sr_item_sk = cs_item_sk
+ and cs_sold_date_sk = d3.d_date_sk
+ and d3.d_quarter_name in ('2000Q1','2000Q2','2000Q3')
+ group by i_item_id
+ ,i_item_desc
+ ,s_state
+ order by i_item_id
+ ,i_item_desc
+ ,s_state
+limit 100;
+
+-- end query 1 in stream 0 using template query17.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query18.sql b/src/s3select/TPCDS/sample-queries-tpcds/query18.sql
new file mode 100644
index 000000000..ee3b5b643
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query18.sql
@@ -0,0 +1,34 @@
+-- start query 1 in stream 0 using template query18.tpl and seed 1978355063
+select i_item_id,
+ ca_country,
+ ca_state,
+ ca_county,
+ avg( cast(cs_quantity as decimal(12,2))) agg1,
+ avg( cast(cs_list_price as decimal(12,2))) agg2,
+ avg( cast(cs_coupon_amt as decimal(12,2))) agg3,
+ avg( cast(cs_sales_price as decimal(12,2))) agg4,
+ avg( cast(cs_net_profit as decimal(12,2))) agg5,
+ avg( cast(c_birth_year as decimal(12,2))) agg6,
+ avg( cast(cd1.cd_dep_count as decimal(12,2))) agg7
+ from catalog_sales, customer_demographics cd1,
+ customer_demographics cd2, customer, customer_address, date_dim, item
+ where cs_sold_date_sk = d_date_sk and
+ cs_item_sk = i_item_sk and
+ cs_bill_cdemo_sk = cd1.cd_demo_sk and
+ cs_bill_customer_sk = c_customer_sk and
+ cd1.cd_gender = 'M' and
+ cd1.cd_education_status = 'Unknown' and
+ c_current_cdemo_sk = cd2.cd_demo_sk and
+ c_current_addr_sk = ca_address_sk and
+ c_birth_month in (5,1,4,7,8,9) and
+ d_year = 2002 and
+ ca_state in ('AR','TX','NC'
+ ,'GA','MS','WV','AL')
+ group by rollup (i_item_id, ca_country, ca_state, ca_county)
+ order by ca_country,
+ ca_state,
+ ca_county,
+ i_item_id
+ limit 100;
+
+-- end query 1 in stream 0 using template query18.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query19.sql b/src/s3select/TPCDS/sample-queries-tpcds/query19.sql
new file mode 100644
index 000000000..e4c65411b
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query19.sql
@@ -0,0 +1,25 @@
+-- start query 1 in stream 0 using template query19.tpl and seed 1930872976
+select i_brand_id brand_id, i_brand brand, i_manufact_id, i_manufact,
+ sum(ss_ext_sales_price) ext_price
+ from date_dim, store_sales, item,customer,customer_address,store
+ where d_date_sk = ss_sold_date_sk
+ and ss_item_sk = i_item_sk
+ and i_manager_id=16
+ and d_moy=12
+ and d_year=1998
+ and ss_customer_sk = c_customer_sk
+ and c_current_addr_sk = ca_address_sk
+ and substr(ca_zip,1,5) <> substr(s_zip,1,5)
+ and ss_store_sk = s_store_sk
+ group by i_brand
+ ,i_brand_id
+ ,i_manufact_id
+ ,i_manufact
+ order by ext_price desc
+ ,i_brand
+ ,i_brand_id
+ ,i_manufact_id
+ ,i_manufact
+limit 100 ;
+
+-- end query 1 in stream 0 using template query19.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query2.sql b/src/s3select/TPCDS/sample-queries-tpcds/query2.sql
new file mode 100644
index 000000000..cb6f026d2
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query2.sql
@@ -0,0 +1,60 @@
+-- start query 1 in stream 0 using template query2.tpl and seed 1819994127
+with wscs as
+ (select sold_date_sk
+ ,sales_price
+ from (select ws_sold_date_sk sold_date_sk
+ ,ws_ext_sales_price sales_price
+ from web_sales) x
+ union all
+ (select cs_sold_date_sk sold_date_sk
+ ,cs_ext_sales_price sales_price
+ from catalog_sales)),
+ wswscs as
+ (select d_week_seq,
+ sum(case when (d_day_name='Sunday') then sales_price else null end) sun_sales,
+ sum(case when (d_day_name='Monday') then sales_price else null end) mon_sales,
+ sum(case when (d_day_name='Tuesday') then sales_price else null end) tue_sales,
+ sum(case when (d_day_name='Wednesday') then sales_price else null end) wed_sales,
+ sum(case when (d_day_name='Thursday') then sales_price else null end) thu_sales,
+ sum(case when (d_day_name='Friday') then sales_price else null end) fri_sales,
+ sum(case when (d_day_name='Saturday') then sales_price else null end) sat_sales
+ from wscs
+ ,date_dim
+ where d_date_sk = sold_date_sk
+ group by d_week_seq)
+ select d_week_seq1
+ ,round(sun_sales1/sun_sales2,2)
+ ,round(mon_sales1/mon_sales2,2)
+ ,round(tue_sales1/tue_sales2,2)
+ ,round(wed_sales1/wed_sales2,2)
+ ,round(thu_sales1/thu_sales2,2)
+ ,round(fri_sales1/fri_sales2,2)
+ ,round(sat_sales1/sat_sales2,2)
+ from
+ (select wswscs.d_week_seq d_week_seq1
+ ,sun_sales sun_sales1
+ ,mon_sales mon_sales1
+ ,tue_sales tue_sales1
+ ,wed_sales wed_sales1
+ ,thu_sales thu_sales1
+ ,fri_sales fri_sales1
+ ,sat_sales sat_sales1
+ from wswscs,date_dim
+ where date_dim.d_week_seq = wswscs.d_week_seq and
+ d_year = 1998) y,
+ (select wswscs.d_week_seq d_week_seq2
+ ,sun_sales sun_sales2
+ ,mon_sales mon_sales2
+ ,tue_sales tue_sales2
+ ,wed_sales wed_sales2
+ ,thu_sales thu_sales2
+ ,fri_sales fri_sales2
+ ,sat_sales sat_sales2
+ from wswscs
+ ,date_dim
+ where date_dim.d_week_seq = wswscs.d_week_seq and
+ d_year = 1998+1) z
+ where d_week_seq1=d_week_seq2-53
+ order by d_week_seq1;
+
+-- end query 1 in stream 0 using template query2.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query20.sql b/src/s3select/TPCDS/sample-queries-tpcds/query20.sql
new file mode 100644
index 000000000..abe7e08a3
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query20.sql
@@ -0,0 +1,30 @@
+-- start query 1 in stream 0 using template query20.tpl and seed 345591136
+select i_item_id
+ ,i_item_desc
+ ,i_category
+ ,i_class
+ ,i_current_price
+ ,sum(cs_ext_sales_price) as itemrevenue
+ ,sum(cs_ext_sales_price)*100/sum(sum(cs_ext_sales_price)) over
+ (partition by i_class) as revenueratio
+ from catalog_sales
+ ,item
+ ,date_dim
+ where cs_item_sk = i_item_sk
+ and i_category in ('Shoes', 'Electronics', 'Children')
+ and cs_sold_date_sk = d_date_sk
+ and d_date between cast('2001-03-14' as date)
+ and (cast('2001-03-14' as date) + interval '30' day)
+ group by i_item_id
+ ,i_item_desc
+ ,i_category
+ ,i_class
+ ,i_current_price
+ order by i_category
+ ,i_class
+ ,i_item_id
+ ,i_item_desc
+ ,revenueratio
+limit 100;
+
+-- end query 1 in stream 0 using template query20.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query21.sql b/src/s3select/TPCDS/sample-queries-tpcds/query21.sql
new file mode 100644
index 000000000..2d7a0f900
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query21.sql
@@ -0,0 +1,30 @@
+-- start query 1 in stream 0 using template query21.tpl and seed 1819994127
+select *
+ from(select w_warehouse_name
+ ,i_item_id
+ ,sum(case when (cast(d_date as date) < cast ('1999-03-20' as date))
+ then inv_quantity_on_hand
+ else 0 end) as inv_before
+ ,sum(case when (cast(d_date as date) >= cast ('1999-03-20' as date))
+ then inv_quantity_on_hand
+ else 0 end) as inv_after
+ from inventory
+ ,warehouse
+ ,item
+ ,date_dim
+ where i_current_price between 0.99 and 1.49
+ and i_item_sk = inv_item_sk
+ and inv_warehouse_sk = w_warehouse_sk
+ and inv_date_sk = d_date_sk
+ and d_date between (cast ('1999-03-20' as date) - interval '30' day)
+ and (cast ('1999-03-20' as date) + interval '30' day)
+ group by w_warehouse_name, i_item_id) x
+ where (case when inv_before > 0
+ then inv_after / inv_before
+ else null
+ end) between 2.0/3.0 and 3.0/2.0
+ order by w_warehouse_name
+ ,i_item_id
+ limit 100;
+
+-- end query 1 in stream 0 using template query21.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query22.sql b/src/s3select/TPCDS/sample-queries-tpcds/query22.sql
new file mode 100644
index 000000000..07c4869a4
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query22.sql
@@ -0,0 +1,20 @@
+-- start query 1 in stream 0 using template query22.tpl and seed 1819994127
+select i_product_name
+ ,i_brand
+ ,i_class
+ ,i_category
+ ,avg(inv_quantity_on_hand) qoh
+ from inventory
+ ,date_dim
+ ,item
+ where inv_date_sk=d_date_sk
+ and inv_item_sk=i_item_sk
+ and d_month_seq between 1186 and 1186 + 11
+ group by rollup(i_product_name
+ ,i_brand
+ ,i_class
+ ,i_category)
+order by qoh, i_product_name, i_brand, i_class, i_category
+limit 100;
+
+-- end query 1 in stream 0 using template query22.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query23.sql b/src/s3select/TPCDS/sample-queries-tpcds/query23.sql
new file mode 100644
index 000000000..80526b130
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query23.sql
@@ -0,0 +1,107 @@
+-- start query 1 in stream 0 using template query23.tpl and seed 2031708268
+with frequent_ss_items as
+ (select substr(i_item_desc,1,30) itemdesc,i_item_sk item_sk,d_date solddate,count(*) cnt
+ from store_sales
+ ,date_dim
+ ,item
+ where ss_sold_date_sk = d_date_sk
+ and ss_item_sk = i_item_sk
+ and d_year in (2000,2000+1,2000+2,2000+3)
+ group by substr(i_item_desc,1,30),i_item_sk,d_date
+ having count(*) >4),
+ max_store_sales as
+ (select max(csales) tpcds_cmax
+ from (select c_customer_sk,sum(ss_quantity*ss_sales_price) csales
+ from store_sales
+ ,customer
+ ,date_dim
+ where ss_customer_sk = c_customer_sk
+ and ss_sold_date_sk = d_date_sk
+ and d_year in (2000,2000+1,2000+2,2000+3)
+ group by c_customer_sk) x),
+ best_ss_customer as
+ (select c_customer_sk,sum(ss_quantity*ss_sales_price) ssales
+ from store_sales
+ ,customer
+ where ss_customer_sk = c_customer_sk
+ group by c_customer_sk
+ having sum(ss_quantity*ss_sales_price) > (95/100.0) * (select
+ *
+from
+ max_store_sales))
+ select sum(sales)
+ from (select cs_quantity*cs_list_price sales
+ from catalog_sales
+ ,date_dim
+ where d_year = 2000
+ and d_moy = 3
+ and cs_sold_date_sk = d_date_sk
+ and cs_item_sk in (select item_sk from frequent_ss_items)
+ and cs_bill_customer_sk in (select c_customer_sk from best_ss_customer)
+ union all
+ select ws_quantity*ws_list_price sales
+ from web_sales
+ ,date_dim
+ where d_year = 2000
+ and d_moy = 3
+ and ws_sold_date_sk = d_date_sk
+ and ws_item_sk in (select item_sk from frequent_ss_items)
+ and ws_bill_customer_sk in (select c_customer_sk from best_ss_customer)) y
+ limit 100;
+with frequent_ss_items as
+ (select substr(i_item_desc,1,30) itemdesc,i_item_sk item_sk,d_date solddate,count(*) cnt
+ from store_sales
+ ,date_dim
+ ,item
+ where ss_sold_date_sk = d_date_sk
+ and ss_item_sk = i_item_sk
+ and d_year in (2000,2000 + 1,2000 + 2,2000 + 3)
+ group by substr(i_item_desc,1,30),i_item_sk,d_date
+ having count(*) >4),
+ max_store_sales as
+ (select max(csales) tpcds_cmax
+ from (select c_customer_sk,sum(ss_quantity*ss_sales_price) csales
+ from store_sales
+ ,customer
+ ,date_dim
+ where ss_customer_sk = c_customer_sk
+ and ss_sold_date_sk = d_date_sk
+ and d_year in (2000,2000+1,2000+2,2000+3)
+ group by c_customer_sk) x),
+ best_ss_customer as
+ (select c_customer_sk,sum(ss_quantity*ss_sales_price) ssales
+ from store_sales
+ ,customer
+ where ss_customer_sk = c_customer_sk
+ group by c_customer_sk
+ having sum(ss_quantity*ss_sales_price) > (95/100.0) * (select
+ *
+ from max_store_sales))
+ select c_last_name,c_first_name,sales
+ from (select c_last_name,c_first_name,sum(cs_quantity*cs_list_price) sales
+ from catalog_sales
+ ,customer
+ ,date_dim
+ where d_year = 2000
+ and d_moy = 3
+ and cs_sold_date_sk = d_date_sk
+ and cs_item_sk in (select item_sk from frequent_ss_items)
+ and cs_bill_customer_sk in (select c_customer_sk from best_ss_customer)
+ and cs_bill_customer_sk = c_customer_sk
+ group by c_last_name,c_first_name
+ union all
+ select c_last_name,c_first_name,sum(ws_quantity*ws_list_price) sales
+ from web_sales
+ ,customer
+ ,date_dim
+ where d_year = 2000
+ and d_moy = 3
+ and ws_sold_date_sk = d_date_sk
+ and ws_item_sk in (select item_sk from frequent_ss_items)
+ and ws_bill_customer_sk in (select c_customer_sk from best_ss_customer)
+ and ws_bill_customer_sk = c_customer_sk
+ group by c_last_name,c_first_name
+ order by c_last_name,c_first_name,sales) y
+ limit 100;
+
+-- end query 1 in stream 0 using template query23.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query24.sql b/src/s3select/TPCDS/sample-queries-tpcds/query24.sql
new file mode 100644
index 000000000..034b9cf17
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query24.sql
@@ -0,0 +1,107 @@
+-- start query 1 in stream 0 using template query24.tpl and seed 1220860970
+with ssales as
+(select c_last_name
+ ,c_first_name
+ ,s_store_name
+ ,ca_state
+ ,s_state
+ ,i_color
+ ,i_current_price
+ ,i_manager_id
+ ,i_units
+ ,i_size
+ ,sum(ss_sales_price) netpaid
+from store_sales
+ ,store_returns
+ ,store
+ ,item
+ ,customer
+ ,customer_address
+where ss_ticket_number = sr_ticket_number
+ and ss_item_sk = sr_item_sk
+ and ss_customer_sk = c_customer_sk
+ and ss_item_sk = i_item_sk
+ and ss_store_sk = s_store_sk
+ and c_current_addr_sk = ca_address_sk
+ and c_birth_country <> upper(ca_country)
+ and s_zip = ca_zip
+and s_market_id=10
+group by c_last_name
+ ,c_first_name
+ ,s_store_name
+ ,ca_state
+ ,s_state
+ ,i_color
+ ,i_current_price
+ ,i_manager_id
+ ,i_units
+ ,i_size)
+select c_last_name
+ ,c_first_name
+ ,s_store_name
+ ,sum(netpaid) paid
+from ssales
+where i_color = 'snow'
+group by c_last_name
+ ,c_first_name
+ ,s_store_name
+having sum(netpaid) > (select 0.05*avg(netpaid)
+ from ssales)
+order by c_last_name
+ ,c_first_name
+ ,s_store_name
+;
+with ssales as
+(select c_last_name
+ ,c_first_name
+ ,s_store_name
+ ,ca_state
+ ,s_state
+ ,i_color
+ ,i_current_price
+ ,i_manager_id
+ ,i_units
+ ,i_size
+ ,sum(ss_sales_price) netpaid
+from store_sales
+ ,store_returns
+ ,store
+ ,item
+ ,customer
+ ,customer_address
+where ss_ticket_number = sr_ticket_number
+ and ss_item_sk = sr_item_sk
+ and ss_customer_sk = c_customer_sk
+ and ss_item_sk = i_item_sk
+ and ss_store_sk = s_store_sk
+ and c_current_addr_sk = ca_address_sk
+ and c_birth_country <> upper(ca_country)
+ and s_zip = ca_zip
+ and s_market_id = 10
+group by c_last_name
+ ,c_first_name
+ ,s_store_name
+ ,ca_state
+ ,s_state
+ ,i_color
+ ,i_current_price
+ ,i_manager_id
+ ,i_units
+ ,i_size)
+select c_last_name
+ ,c_first_name
+ ,s_store_name
+ ,sum(netpaid) paid
+from ssales
+where i_color = 'chiffon'
+group by c_last_name
+ ,c_first_name
+ ,s_store_name
+having sum(netpaid) > (select 0.05*avg(netpaid)
+ from ssales)
+order by c_last_name
+ ,c_first_name
+ ,s_store_name
+;
+
+-- end query 1 in stream 0 using template query24.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query25.sql b/src/s3select/TPCDS/sample-queries-tpcds/query25.sql
new file mode 100644
index 000000000..3e2624c02
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query25.sql
@@ -0,0 +1,48 @@
+-- start query 1 in stream 0 using template query25.tpl and seed 1819994127
+select
+ i_item_id
+ ,i_item_desc
+ ,s_store_id
+ ,s_store_name
+ ,sum(ss_net_profit) as store_sales_profit
+ ,sum(sr_net_loss) as store_returns_loss
+ ,sum(cs_net_profit) as catalog_sales_profit
+ from
+ store_sales
+ ,store_returns
+ ,catalog_sales
+ ,date_dim d1
+ ,date_dim d2
+ ,date_dim d3
+ ,store
+ ,item
+ where
+ d1.d_moy = 4
+ and d1.d_year = 2000
+ and d1.d_date_sk = ss_sold_date_sk
+ and i_item_sk = ss_item_sk
+ and s_store_sk = ss_store_sk
+ and ss_customer_sk = sr_customer_sk
+ and ss_item_sk = sr_item_sk
+ and ss_ticket_number = sr_ticket_number
+ and sr_returned_date_sk = d2.d_date_sk
+ and d2.d_moy between 4 and 10
+ and d2.d_year = 2000
+ and sr_customer_sk = cs_bill_customer_sk
+ and sr_item_sk = cs_item_sk
+ and cs_sold_date_sk = d3.d_date_sk
+ and d3.d_moy between 4 and 10
+ and d3.d_year = 2000
+ group by
+ i_item_id
+ ,i_item_desc
+ ,s_store_id
+ ,s_store_name
+ order by
+ i_item_id
+ ,i_item_desc
+ ,s_store_id
+ ,s_store_name
+ limit 100;
+
+-- end query 1 in stream 0 using template query25.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query26.sql b/src/s3select/TPCDS/sample-queries-tpcds/query26.sql
new file mode 100644
index 000000000..7298126cf
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query26.sql
@@ -0,0 +1,21 @@
+-- start query 1 in stream 0 using template query26.tpl and seed 1930872976
+select i_item_id,
+ avg(cs_quantity) agg1,
+ avg(cs_list_price) agg2,
+ avg(cs_coupon_amt) agg3,
+ avg(cs_sales_price) agg4
+ from catalog_sales, customer_demographics, date_dim, item, promotion
+ where cs_sold_date_sk = d_date_sk and
+ cs_item_sk = i_item_sk and
+ cs_bill_cdemo_sk = cd_demo_sk and
+ cs_promo_sk = p_promo_sk and
+ cd_gender = 'F' and
+ cd_marital_status = 'S' and
+ cd_education_status = 'College' and
+ (p_channel_email = 'N' or p_channel_event = 'N') and
+ d_year = 1998
+ group by i_item_id
+ order by i_item_id
+ limit 100;
+
+-- end query 1 in stream 0 using template query26.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query27.sql b/src/s3select/TPCDS/sample-queries-tpcds/query27.sql
new file mode 100644
index 000000000..9a906c4a0
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query27.sql
@@ -0,0 +1,23 @@
+-- start query 1 in stream 0 using template query27.tpl and seed 2017787633
+select i_item_id,
+ s_state, grouping(s_state) g_state,
+ avg(ss_quantity) agg1,
+ avg(ss_list_price) agg2,
+ avg(ss_coupon_amt) agg3,
+ avg(ss_sales_price) agg4
+ from store_sales, customer_demographics, date_dim, store, item
+ where ss_sold_date_sk = d_date_sk and
+ ss_item_sk = i_item_sk and
+ ss_store_sk = s_store_sk and
+ ss_cdemo_sk = cd_demo_sk and
+ cd_gender = 'F' and
+ cd_marital_status = 'U' and
+ cd_education_status = '2 yr Degree' and
+ d_year = 2000 and
+ s_state in ('AL','IN', 'SC', 'NY', 'OH', 'FL')
+ group by rollup (i_item_id, s_state)
+ order by i_item_id
+ ,s_state
+ limit 100;
+
+-- end query 1 in stream 0 using template query27.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query28.sql b/src/s3select/TPCDS/sample-queries-tpcds/query28.sql
new file mode 100644
index 000000000..17133f91f
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query28.sql
@@ -0,0 +1,53 @@
+-- start query 1 in stream 0 using template query28.tpl and seed 444293455
+select *
+from (select avg(ss_list_price) B1_LP
+ ,count(ss_list_price) B1_CNT
+ ,count(distinct ss_list_price) B1_CNTD
+ from store_sales
+ where ss_quantity between 0 and 5
+ and (ss_list_price between 73 and 73+10
+ or ss_coupon_amt between 7826 and 7826+1000
+ or ss_wholesale_cost between 70 and 70+20)) B1,
+ (select avg(ss_list_price) B2_LP
+ ,count(ss_list_price) B2_CNT
+ ,count(distinct ss_list_price) B2_CNTD
+ from store_sales
+ where ss_quantity between 6 and 10
+ and (ss_list_price between 152 and 152+10
+ or ss_coupon_amt between 2196 and 2196+1000
+ or ss_wholesale_cost between 56 and 56+20)) B2,
+ (select avg(ss_list_price) B3_LP
+ ,count(ss_list_price) B3_CNT
+ ,count(distinct ss_list_price) B3_CNTD
+ from store_sales
+ where ss_quantity between 11 and 15
+ and (ss_list_price between 53 and 53+10
+ or ss_coupon_amt between 3430 and 3430+1000
+ or ss_wholesale_cost between 13 and 13+20)) B3,
+ (select avg(ss_list_price) B4_LP
+ ,count(ss_list_price) B4_CNT
+ ,count(distinct ss_list_price) B4_CNTD
+ from store_sales
+ where ss_quantity between 16 and 20
+ and (ss_list_price between 182 and 182+10
+ or ss_coupon_amt between 3262 and 3262+1000
+ or ss_wholesale_cost between 20 and 20+20)) B4,
+ (select avg(ss_list_price) B5_LP
+ ,count(ss_list_price) B5_CNT
+ ,count(distinct ss_list_price) B5_CNTD
+ from store_sales
+ where ss_quantity between 21 and 25
+ and (ss_list_price between 85 and 85+10
+ or ss_coupon_amt between 3310 and 3310+1000
+ or ss_wholesale_cost between 37 and 37+20)) B5,
+ (select avg(ss_list_price) B6_LP
+ ,count(ss_list_price) B6_CNT
+ ,count(distinct ss_list_price) B6_CNTD
+ from store_sales
+ where ss_quantity between 26 and 30
+ and (ss_list_price between 180 and 180+10
+ or ss_coupon_amt between 12592 and 12592+1000
+ or ss_wholesale_cost between 22 and 22+20)) B6
+limit 100;
+
+-- end query 1 in stream 0 using template query28.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query29.sql b/src/s3select/TPCDS/sample-queries-tpcds/query29.sql
new file mode 100644
index 000000000..4491e5393
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query29.sql
@@ -0,0 +1,47 @@
+-- start query 1 in stream 0 using template query29.tpl and seed 2031708268
+select
+ i_item_id
+ ,i_item_desc
+ ,s_store_id
+ ,s_store_name
+ ,stddev_samp(ss_quantity) as store_sales_quantity
+ ,stddev_samp(sr_return_quantity) as store_returns_quantity
+ ,stddev_samp(cs_quantity) as catalog_sales_quantity
+ from
+ store_sales
+ ,store_returns
+ ,catalog_sales
+ ,date_dim d1
+ ,date_dim d2
+ ,date_dim d3
+ ,store
+ ,item
+ where
+ d1.d_moy = 4
+ and d1.d_year = 1998
+ and d1.d_date_sk = ss_sold_date_sk
+ and i_item_sk = ss_item_sk
+ and s_store_sk = ss_store_sk
+ and ss_customer_sk = sr_customer_sk
+ and ss_item_sk = sr_item_sk
+ and ss_ticket_number = sr_ticket_number
+ and sr_returned_date_sk = d2.d_date_sk
+ and d2.d_moy between 4 and 4 + 3
+ and d2.d_year = 1998
+ and sr_customer_sk = cs_bill_customer_sk
+ and sr_item_sk = cs_item_sk
+ and cs_sold_date_sk = d3.d_date_sk
+ and d3.d_year in (1998,1998+1,1998+2)
+ group by
+ i_item_id
+ ,i_item_desc
+ ,s_store_id
+ ,s_store_name
+ order by
+ i_item_id
+ ,i_item_desc
+ ,s_store_id
+ ,s_store_name
+ limit 100;
+
+-- end query 1 in stream 0 using template query29.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query3.sql b/src/s3select/TPCDS/sample-queries-tpcds/query3.sql
new file mode 100644
index 000000000..1944edb87
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query3.sql
@@ -0,0 +1,21 @@
+-- start query 1 in stream 0 using template query3.tpl and seed 2031708268
+select dt.d_year
+ ,item.i_brand_id brand_id
+ ,item.i_brand brand
+ ,sum(ss_sales_price) sum_agg
+ from date_dim dt
+ ,store_sales
+ ,item
+ where dt.d_date_sk = store_sales.ss_sold_date_sk
+ and store_sales.ss_item_sk = item.i_item_sk
+ and item.i_manufact_id = 816
+ and dt.d_moy=11
+ group by dt.d_year
+ ,item.i_brand
+ ,item.i_brand_id
+ order by dt.d_year
+ ,sum_agg desc
+ ,brand_id
+ limit 100;
+
+-- end query 1 in stream 0 using template query3.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query30.sql b/src/s3select/TPCDS/sample-queries-tpcds/query30.sql
new file mode 100644
index 000000000..a1702d12f
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query30.sql
@@ -0,0 +1,31 @@
+-- start query 1 in stream 0 using template query30.tpl and seed 1819994127
+with customer_total_return as
+ (select wr_returning_customer_sk as ctr_customer_sk
+ ,ca_state as ctr_state,
+ sum(wr_return_amt) as ctr_total_return
+ from web_returns
+ ,date_dim
+ ,customer_address
+ where wr_returned_date_sk = d_date_sk
+ and d_year =2000
+ and wr_returning_addr_sk = ca_address_sk
+ group by wr_returning_customer_sk
+ ,ca_state)
+ select c_customer_id,c_salutation,c_first_name,c_last_name,c_preferred_cust_flag
+ ,c_birth_day,c_birth_month,c_birth_year,c_birth_country,c_login,c_email_address
+ ,c_last_review_date_sk,ctr_total_return
+ from customer_total_return ctr1
+ ,customer_address
+ ,customer
+ where ctr1.ctr_total_return > (select avg(ctr_total_return)*1.2
+ from customer_total_return ctr2
+ where ctr1.ctr_state = ctr2.ctr_state)
+ and ca_address_sk = c_current_addr_sk
+ and ca_state = 'GA'
+ and ctr1.ctr_customer_sk = c_customer_sk
+ order by c_customer_id,c_salutation,c_first_name,c_last_name,c_preferred_cust_flag
+ ,c_birth_day,c_birth_month,c_birth_year,c_birth_country,c_login,c_email_address
+ ,c_last_review_date_sk,ctr_total_return
+limit 100;
+
+-- end query 1 in stream 0 using template query30.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query31.sql b/src/s3select/TPCDS/sample-queries-tpcds/query31.sql
new file mode 100644
index 000000000..1c89b6551
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query31.sql
@@ -0,0 +1,52 @@
+-- start query 1 in stream 0 using template query31.tpl and seed 1819994127
+with ss as
+ (select ca_county,d_qoy, d_year,sum(ss_ext_sales_price) as store_sales
+ from store_sales,date_dim,customer_address
+ where ss_sold_date_sk = d_date_sk
+ and ss_addr_sk=ca_address_sk
+ group by ca_county,d_qoy, d_year),
+ ws as
+ (select ca_county,d_qoy, d_year,sum(ws_ext_sales_price) as web_sales
+ from web_sales,date_dim,customer_address
+ where ws_sold_date_sk = d_date_sk
+ and ws_bill_addr_sk=ca_address_sk
+ group by ca_county,d_qoy, d_year)
+ select
+ ss1.ca_county
+ ,ss1.d_year
+ ,ws2.web_sales/ws1.web_sales web_q1_q2_increase
+ ,ss2.store_sales/ss1.store_sales store_q1_q2_increase
+ ,ws3.web_sales/ws2.web_sales web_q2_q3_increase
+ ,ss3.store_sales/ss2.store_sales store_q2_q3_increase
+ from
+ ss ss1
+ ,ss ss2
+ ,ss ss3
+ ,ws ws1
+ ,ws ws2
+ ,ws ws3
+ where
+ ss1.d_qoy = 1
+ and ss1.d_year = 1999
+ and ss1.ca_county = ss2.ca_county
+ and ss2.d_qoy = 2
+ and ss2.d_year = 1999
+ and ss2.ca_county = ss3.ca_county
+ and ss3.d_qoy = 3
+ and ss3.d_year = 1999
+ and ss1.ca_county = ws1.ca_county
+ and ws1.d_qoy = 1
+ and ws1.d_year = 1999
+ and ws1.ca_county = ws2.ca_county
+ and ws2.d_qoy = 2
+ and ws2.d_year = 1999
+ and ws1.ca_county = ws3.ca_county
+ and ws3.d_qoy = 3
+ and ws3.d_year =1999
+ and case when ws1.web_sales > 0 then ws2.web_sales/ws1.web_sales else null end
+ > case when ss1.store_sales > 0 then ss2.store_sales/ss1.store_sales else null end
+ and case when ws2.web_sales > 0 then ws3.web_sales/ws2.web_sales else null end
+ > case when ss2.store_sales > 0 then ss3.store_sales/ss2.store_sales else null end
+ order by ss1.d_year;
+
+-- end query 1 in stream 0 using template query31.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query32.sql b/src/s3select/TPCDS/sample-queries-tpcds/query32.sql
new file mode 100644
index 000000000..604557a07
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query32.sql
@@ -0,0 +1,28 @@
+-- start query 1 in stream 0 using template query32.tpl and seed 2031708268
+select sum(cs_ext_discount_amt) as "excess discount amount"
+from
+ catalog_sales
+ ,item
+ ,date_dim
+where
+i_manufact_id = 66
+and i_item_sk = cs_item_sk
+and d_date between cast('2002-03-29' as date) and
+ (cast('2002-03-29' as date) + interval '90' day)
+and d_date_sk = cs_sold_date_sk
+and cs_ext_discount_amt
+ > (
+ select
+ 1.3 * avg(cs_ext_discount_amt)
+ from
+ catalog_sales
+ ,date_dim
+ where
+ cs_item_sk = i_item_sk
+ and d_date between cast('2002-03-29' as date) and
+ (cast('2002-03-29' as date) + interval '90' day)
+ and d_date_sk = cs_sold_date_sk
+ )
+limit 100;
+
+-- end query 1 in stream 0 using template query32.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query33.sql b/src/s3select/TPCDS/sample-queries-tpcds/query33.sql
new file mode 100644
index 000000000..d075de468
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query33.sql
@@ -0,0 +1,75 @@
+-- start query 1 in stream 0 using template query33.tpl and seed 1930872976
+with ss as (
+ select
+ i_manufact_id,sum(ss_ext_sales_price) total_sales
+ from
+ store_sales,
+ date_dim,
+ customer_address,
+ item
+ where
+ i_manufact_id in (select
+ i_manufact_id
+from
+ item
+where i_category in ('Home'))
+ and ss_item_sk = i_item_sk
+ and ss_sold_date_sk = d_date_sk
+ and d_year = 1998
+ and d_moy = 5
+ and ss_addr_sk = ca_address_sk
+ and ca_gmt_offset = -6
+ group by i_manufact_id),
+ cs as (
+ select
+ i_manufact_id,sum(cs_ext_sales_price) total_sales
+ from
+ catalog_sales,
+ date_dim,
+ customer_address,
+ item
+ where
+ i_manufact_id in (select
+ i_manufact_id
+from
+ item
+where i_category in ('Home'))
+ and cs_item_sk = i_item_sk
+ and cs_sold_date_sk = d_date_sk
+ and d_year = 1998
+ and d_moy = 5
+ and cs_bill_addr_sk = ca_address_sk
+ and ca_gmt_offset = -6
+ group by i_manufact_id),
+ ws as (
+ select
+ i_manufact_id,sum(ws_ext_sales_price) total_sales
+ from
+ web_sales,
+ date_dim,
+ customer_address,
+ item
+ where
+ i_manufact_id in (select
+ i_manufact_id
+from
+ item
+where i_category in ('Home'))
+ and ws_item_sk = i_item_sk
+ and ws_sold_date_sk = d_date_sk
+ and d_year = 1998
+ and d_moy = 5
+ and ws_bill_addr_sk = ca_address_sk
+ and ca_gmt_offset = -6
+ group by i_manufact_id)
+ select i_manufact_id ,sum(total_sales) total_sales
+ from (select * from ss
+ union all
+ select * from cs
+ union all
+ select * from ws) tmp1
+ group by i_manufact_id
+ order by total_sales
+limit 100;
+
+-- end query 1 in stream 0 using template query33.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query34.sql b/src/s3select/TPCDS/sample-queries-tpcds/query34.sql
new file mode 100644
index 000000000..e5ddc4c1d
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query34.sql
@@ -0,0 +1,31 @@
+-- start query 1 in stream 0 using template query34.tpl and seed 1971067816
+select c_last_name
+ ,c_first_name
+ ,c_salutation
+ ,c_preferred_cust_flag
+ ,ss_ticket_number
+ ,cnt from
+ (select ss_ticket_number
+ ,ss_customer_sk
+ ,count(*) cnt
+ from store_sales,date_dim,store,household_demographics
+ where store_sales.ss_sold_date_sk = date_dim.d_date_sk
+ and store_sales.ss_store_sk = store.s_store_sk
+ and store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk
+ and (date_dim.d_dom between 1 and 3 or date_dim.d_dom between 25 and 28)
+ and (household_demographics.hd_buy_potential = '>10000' or
+ household_demographics.hd_buy_potential = 'Unknown')
+ and household_demographics.hd_vehicle_count > 0
+ and (case when household_demographics.hd_vehicle_count > 0
+ then household_demographics.hd_dep_count/ household_demographics.hd_vehicle_count
+ else null
+ end) > 1.2
+ and date_dim.d_year in (2000,2000+1,2000+2)
+ and store.s_county in ('Salem County','Terrell County','Arthur County','Oglethorpe County',
+ 'Lunenburg County','Perry County','Halifax County','Sumner County')
+ group by ss_ticket_number,ss_customer_sk) dn,customer
+ where ss_customer_sk = c_customer_sk
+ and cnt between 15 and 20
+ order by c_last_name,c_first_name,c_salutation,c_preferred_cust_flag desc, ss_ticket_number;
+
+-- end query 1 in stream 0 using template query34.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query35.sql b/src/s3select/TPCDS/sample-queries-tpcds/query35.sql
new file mode 100644
index 000000000..ef7cdf0bb
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query35.sql
@@ -0,0 +1,58 @@
+-- start query 1 in stream 0 using template query35.tpl and seed 1930872976
+select
+ ca_state,
+ cd_gender,
+ cd_marital_status,
+ cd_dep_count,
+ count(*) cnt1,
+ avg(cd_dep_count),
+ min(cd_dep_count),
+ stddev_samp(cd_dep_count),
+ cd_dep_employed_count,
+ count(*) cnt2,
+ avg(cd_dep_employed_count),
+ min(cd_dep_employed_count),
+ stddev_samp(cd_dep_employed_count),
+ cd_dep_college_count,
+ count(*) cnt3,
+ avg(cd_dep_college_count),
+ min(cd_dep_college_count),
+ stddev_samp(cd_dep_college_count)
+ from
+ customer c,customer_address ca,customer_demographics
+ where
+ c.c_current_addr_sk = ca.ca_address_sk and
+ cd_demo_sk = c.c_current_cdemo_sk and
+ exists (select *
+ from store_sales,date_dim
+ where c.c_customer_sk = ss_customer_sk and
+ ss_sold_date_sk = d_date_sk and
+ d_year = 2001 and
+ d_qoy < 4) and
+ (exists (select *
+ from web_sales,date_dim
+ where c.c_customer_sk = ws_bill_customer_sk and
+ ws_sold_date_sk = d_date_sk and
+ d_year = 2001 and
+ d_qoy < 4) or
+ exists (select *
+ from catalog_sales,date_dim
+ where c.c_customer_sk = cs_ship_customer_sk and
+ cs_sold_date_sk = d_date_sk and
+ d_year = 2001 and
+ d_qoy < 4))
+ group by ca_state,
+ cd_gender,
+ cd_marital_status,
+ cd_dep_count,
+ cd_dep_employed_count,
+ cd_dep_college_count
+ order by ca_state,
+ cd_gender,
+ cd_marital_status,
+ cd_dep_count,
+ cd_dep_employed_count,
+ cd_dep_college_count
+ limit 100;
+
+-- end query 1 in stream 0 using template query35.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query36.sql b/src/s3select/TPCDS/sample-queries-tpcds/query36.sql
new file mode 100644
index 000000000..8456fc8c4
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query36.sql
@@ -0,0 +1,30 @@
+-- start query 1 in stream 0 using template query36.tpl and seed 1544728811
+select
+ sum(ss_net_profit)/sum(ss_ext_sales_price) as gross_margin
+ ,i_category
+ ,i_class
+ ,grouping(i_category)+grouping(i_class) as lochierarchy
+ ,rank() over (
+ partition by grouping(i_category)+grouping(i_class),
+ case when grouping(i_class) = 0 then i_category end
+ order by sum(ss_net_profit)/sum(ss_ext_sales_price) asc) as rank_within_parent
+ from
+ store_sales
+ ,date_dim d1
+ ,item
+ ,store
+ where
+ d1.d_year = 1999
+ and d1.d_date_sk = ss_sold_date_sk
+ and i_item_sk = ss_item_sk
+ and s_store_sk = ss_store_sk
+ and s_state in ('IN','AL','MI','MN',
+ 'TN','LA','FL','NM')
+ group by rollup(i_category,i_class)
+ order by
+ lochierarchy desc
+ ,case when lochierarchy = 0 then i_category end
+ ,rank_within_parent
+ limit 100;
+
+-- end query 1 in stream 0 using template query36.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query37.sql b/src/s3select/TPCDS/sample-queries-tpcds/query37.sql
new file mode 100644
index 000000000..dc799dcf5
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query37.sql
@@ -0,0 +1,17 @@
+-- start query 1 in stream 0 using template query37.tpl and seed 301843662
+select i_item_id
+ ,i_item_desc
+ ,i_current_price
+ from item, inventory, date_dim, catalog_sales
+ where i_current_price between 39 and 39 + 30
+ and inv_item_sk = i_item_sk
+ and d_date_sk=inv_date_sk
+ and d_date between cast('2001-01-16' as date) and (cast('2001-01-16' as date) + interval '60' day)
+ and i_manufact_id in (765,886,889,728)
+ and inv_quantity_on_hand between 100 and 500
+ and cs_item_sk = i_item_sk
+ group by i_item_id,i_item_desc,i_current_price
+ order by i_item_id
+ limit 100;
+
+-- end query 1 in stream 0 using template query37.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query38.sql b/src/s3select/TPCDS/sample-queries-tpcds/query38.sql
new file mode 100644
index 000000000..5570ae202
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query38.sql
@@ -0,0 +1,23 @@
+-- start query 1 in stream 0 using template query38.tpl and seed 1819994127
+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 1186 and 1186 + 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 1186 and 1186 + 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 1186 and 1186 + 11
+) hot_cust
+limit 100;
+
+-- end query 1 in stream 0 using template query38.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query39.sql b/src/s3select/TPCDS/sample-queries-tpcds/query39.sql
new file mode 100644
index 000000000..9c714fca0
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query39.sql
@@ -0,0 +1,54 @@
+-- start query 1 in stream 0 using template query39.tpl and seed 1327317894
+with inv as
+(select w_warehouse_name,w_warehouse_sk,i_item_sk,d_moy
+ ,stdev,mean, case mean when 0 then null else stdev/mean end cov
+ from(select w_warehouse_name,w_warehouse_sk,i_item_sk,d_moy
+ ,stddev_samp(inv_quantity_on_hand) stdev,avg(inv_quantity_on_hand) mean
+ from inventory
+ ,item
+ ,warehouse
+ ,date_dim
+ where inv_item_sk = i_item_sk
+ and inv_warehouse_sk = w_warehouse_sk
+ and inv_date_sk = d_date_sk
+ and d_year =2000
+ group by w_warehouse_name,w_warehouse_sk,i_item_sk,d_moy) foo
+ where case mean when 0 then 0 else stdev/mean end > 1)
+select inv1.w_warehouse_sk,inv1.i_item_sk,inv1.d_moy,inv1.mean, inv1.cov
+ ,inv2.w_warehouse_sk,inv2.i_item_sk,inv2.d_moy,inv2.mean, inv2.cov
+from inv inv1,inv inv2
+where inv1.i_item_sk = inv2.i_item_sk
+ and inv1.w_warehouse_sk = inv2.w_warehouse_sk
+ and inv1.d_moy=2
+ and inv2.d_moy=2+1
+order by inv1.w_warehouse_sk,inv1.i_item_sk,inv1.d_moy,inv1.mean,inv1.cov
+ ,inv2.d_moy,inv2.mean, inv2.cov
+;
+with inv as
+(select w_warehouse_name,w_warehouse_sk,i_item_sk,d_moy
+ ,stdev,mean, case mean when 0 then null else stdev/mean end cov
+ from(select w_warehouse_name,w_warehouse_sk,i_item_sk,d_moy
+ ,stddev_samp(inv_quantity_on_hand) stdev,avg(inv_quantity_on_hand) mean
+ from inventory
+ ,item
+ ,warehouse
+ ,date_dim
+ where inv_item_sk = i_item_sk
+ and inv_warehouse_sk = w_warehouse_sk
+ and inv_date_sk = d_date_sk
+ and d_year =2000
+ group by w_warehouse_name,w_warehouse_sk,i_item_sk,d_moy) foo
+ where case mean when 0 then 0 else stdev/mean end > 1)
+select inv1.w_warehouse_sk,inv1.i_item_sk,inv1.d_moy,inv1.mean, inv1.cov
+ ,inv2.w_warehouse_sk,inv2.i_item_sk,inv2.d_moy,inv2.mean, inv2.cov
+from inv inv1,inv inv2
+where inv1.i_item_sk = inv2.i_item_sk
+ and inv1.w_warehouse_sk = inv2.w_warehouse_sk
+ and inv1.d_moy=2
+ and inv2.d_moy=2+1
+ and inv1.cov > 1.5
+order by inv1.w_warehouse_sk,inv1.i_item_sk,inv1.d_moy,inv1.mean,inv1.cov
+ ,inv2.d_moy,inv2.mean, inv2.cov
+;
+
+-- end query 1 in stream 0 using template query39.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query4.sql b/src/s3select/TPCDS/sample-queries-tpcds/query4.sql
new file mode 100644
index 000000000..b4fd65bea
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query4.sql
@@ -0,0 +1,116 @@
+-- start query 1 in stream 0 using template query4.tpl and seed 1819994127
+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_wholesale_cost-ss_ext_discount_amt)+ss_ext_sales_price)/2) 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((((cs_ext_list_price-cs_ext_wholesale_cost-cs_ext_discount_amt)+cs_ext_sales_price)/2) ) year_total
+ ,'c' sale_type
+ from customer
+ ,catalog_sales
+ ,date_dim
+ where c_customer_sk = cs_bill_customer_sk
+ and cs_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_wholesale_cost-ws_ext_discount_amt)+ws_ext_sales_price)/2) ) 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_birth_country
+ from year_total t_s_firstyear
+ ,year_total t_s_secyear
+ ,year_total t_c_firstyear
+ ,year_total t_c_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_c_secyear.customer_id
+ and t_s_firstyear.customer_id = t_c_firstyear.customer_id
+ and t_s_firstyear.customer_id = t_w_firstyear.customer_id
+ and t_s_firstyear.customer_id = t_w_secyear.customer_id
+ and t_s_firstyear.sale_type = 's'
+ and t_c_firstyear.sale_type = 'c'
+ and t_w_firstyear.sale_type = 'w'
+ and t_s_secyear.sale_type = 's'
+ and t_c_secyear.sale_type = 'c'
+ and t_w_secyear.sale_type = 'w'
+ and t_s_firstyear.dyear = 1999
+ and t_s_secyear.dyear = 1999+1
+ and t_c_firstyear.dyear = 1999
+ and t_c_secyear.dyear = 1999+1
+ and t_w_firstyear.dyear = 1999
+ and t_w_secyear.dyear = 1999+1
+ and t_s_firstyear.year_total > 0
+ and t_c_firstyear.year_total > 0
+ and t_w_firstyear.year_total > 0
+ and case when t_c_firstyear.year_total > 0 then t_c_secyear.year_total / t_c_firstyear.year_total else null end
+ > case when t_s_firstyear.year_total > 0 then t_s_secyear.year_total / t_s_firstyear.year_total else null end
+ and case when t_c_firstyear.year_total > 0 then t_c_secyear.year_total / t_c_firstyear.year_total else null end
+ > case when t_w_firstyear.year_total > 0 then t_w_secyear.year_total / t_w_firstyear.year_total else null end
+ order by t_s_secyear.customer_id
+ ,t_s_secyear.customer_first_name
+ ,t_s_secyear.customer_last_name
+ ,t_s_secyear.customer_birth_country
+limit 100;
+
+-- end query 1 in stream 0 using template query4.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query40.sql b/src/s3select/TPCDS/sample-queries-tpcds/query40.sql
new file mode 100644
index 000000000..f5e72e595
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query40.sql
@@ -0,0 +1,28 @@
+-- start query 1 in stream 0 using template query40.tpl and seed 1819994127
+select
+ w_state
+ ,i_item_id
+ ,sum(case when (cast(d_date as date) < cast ('2000-03-18' as date))
+ then cs_sales_price - coalesce(cr_refunded_cash,0) else 0 end) as sales_before
+ ,sum(case when (cast(d_date as date) >= cast ('2000-03-18' as date))
+ then cs_sales_price - coalesce(cr_refunded_cash,0) else 0 end) as sales_after
+ from
+ catalog_sales left outer join catalog_returns on
+ (cs_order_number = cr_order_number
+ and cs_item_sk = cr_item_sk)
+ ,warehouse
+ ,item
+ ,date_dim
+ where
+ i_current_price between 0.99 and 1.49
+ and i_item_sk = cs_item_sk
+ and cs_warehouse_sk = w_warehouse_sk
+ and cs_sold_date_sk = d_date_sk
+ and d_date between (cast ('2000-03-18' as date) - interval '30' day)
+ and (cast ('2000-03-18' as date) + interval '30' day)
+ group by
+ w_state,i_item_id
+ order by w_state,i_item_id
+limit 100;
+
+-- end query 1 in stream 0 using template query40.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query41.sql b/src/s3select/TPCDS/sample-queries-tpcds/query41.sql
new file mode 100644
index 000000000..6eb01d582
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query41.sql
@@ -0,0 +1,52 @@
+-- start query 1 in stream 0 using template query41.tpl and seed 1581015815
+select distinct(i_product_name)
+ from item i1
+ where i_manufact_id between 970 and 970+40
+ and (select count(*) as item_cnt
+ from item
+ where (i_manufact = i1.i_manufact and
+ ((i_category = 'Women' and
+ (i_color = 'frosted' or i_color = 'rose') and
+ (i_units = 'Lb' or i_units = 'Gross') and
+ (i_size = 'medium' or i_size = 'large')
+ ) or
+ (i_category = 'Women' and
+ (i_color = 'chocolate' or i_color = 'black') and
+ (i_units = 'Box' or i_units = 'Dram') and
+ (i_size = 'economy' or i_size = 'petite')
+ ) or
+ (i_category = 'Men' and
+ (i_color = 'slate' or i_color = 'magenta') and
+ (i_units = 'Carton' or i_units = 'Bundle') and
+ (i_size = 'N/A' or i_size = 'small')
+ ) or
+ (i_category = 'Men' and
+ (i_color = 'cornflower' or i_color = 'firebrick') and
+ (i_units = 'Pound' or i_units = 'Oz') and
+ (i_size = 'medium' or i_size = 'large')
+ ))) or
+ (i_manufact = i1.i_manufact and
+ ((i_category = 'Women' and
+ (i_color = 'almond' or i_color = 'steel') and
+ (i_units = 'Tsp' or i_units = 'Case') and
+ (i_size = 'medium' or i_size = 'large')
+ ) or
+ (i_category = 'Women' and
+ (i_color = 'purple' or i_color = 'aquamarine') and
+ (i_units = 'Bunch' or i_units = 'Gram') and
+ (i_size = 'economy' or i_size = 'petite')
+ ) or
+ (i_category = 'Men' and
+ (i_color = 'lavender' or i_color = 'papaya') and
+ (i_units = 'Pallet' or i_units = 'Cup') and
+ (i_size = 'N/A' or i_size = 'small')
+ ) or
+ (i_category = 'Men' and
+ (i_color = 'maroon' or i_color = 'cyan') and
+ (i_units = 'Each' or i_units = 'N/A') and
+ (i_size = 'medium' or i_size = 'large')
+ )))) > 0
+ order by i_product_name
+ limit 100;
+
+-- end query 1 in stream 0 using template query41.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query42.sql b/src/s3select/TPCDS/sample-queries-tpcds/query42.sql
new file mode 100644
index 000000000..bbc053206
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query42.sql
@@ -0,0 +1,22 @@
+-- start query 1 in stream 0 using template query42.tpl and seed 1819994127
+select dt.d_year
+ ,item.i_category_id
+ ,item.i_category
+ ,sum(ss_ext_sales_price)
+ from date_dim dt
+ ,store_sales
+ ,item
+ where dt.d_date_sk = store_sales.ss_sold_date_sk
+ and store_sales.ss_item_sk = item.i_item_sk
+ and item.i_manager_id = 1
+ and dt.d_moy=12
+ and dt.d_year=1998
+ group by dt.d_year
+ ,item.i_category_id
+ ,item.i_category
+ order by sum(ss_ext_sales_price) desc,dt.d_year
+ ,item.i_category_id
+ ,item.i_category
+limit 100 ;
+
+-- end query 1 in stream 0 using template query42.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query43.sql b/src/s3select/TPCDS/sample-queries-tpcds/query43.sql
new file mode 100644
index 000000000..89843d1e7
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query43.sql
@@ -0,0 +1,19 @@
+-- start query 1 in stream 0 using template query43.tpl and seed 1819994127
+select s_store_name, s_store_id,
+ sum(case when (d_day_name='Sunday') then ss_sales_price else null end) sun_sales,
+ sum(case when (d_day_name='Monday') then ss_sales_price else null end) mon_sales,
+ sum(case when (d_day_name='Tuesday') then ss_sales_price else null end) tue_sales,
+ sum(case when (d_day_name='Wednesday') then ss_sales_price else null end) wed_sales,
+ sum(case when (d_day_name='Thursday') then ss_sales_price else null end) thu_sales,
+ sum(case when (d_day_name='Friday') then ss_sales_price else null end) fri_sales,
+ sum(case when (d_day_name='Saturday') then ss_sales_price else null end) sat_sales
+ from date_dim, store_sales, store
+ where d_date_sk = ss_sold_date_sk and
+ s_store_sk = ss_store_sk and
+ s_gmt_offset = -6 and
+ d_year = 2001
+ group by s_store_name, s_store_id
+ order by s_store_name, s_store_id,sun_sales,mon_sales,tue_sales,wed_sales,thu_sales,fri_sales,sat_sales
+ limit 100;
+
+-- end query 1 in stream 0 using template query43.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query44.sql b/src/s3select/TPCDS/sample-queries-tpcds/query44.sql
new file mode 100644
index 000000000..92d5e0259
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query44.sql
@@ -0,0 +1,35 @@
+-- start query 1 in stream 0 using template query44.tpl and seed 1819994127
+select asceding.rnk, i1.i_product_name best_performing, i2.i_product_name worst_performing
+from(select *
+ from (select item_sk,rank() over (order by rank_col asc) rnk
+ from (select ss_item_sk item_sk,avg(ss_net_profit) rank_col
+ from store_sales ss1
+ where ss_store_sk = 366
+ group by ss_item_sk
+ having avg(ss_net_profit) > 0.9*(select avg(ss_net_profit) rank_col
+ from store_sales
+ where ss_store_sk = 366
+ and ss_cdemo_sk is null
+ group by ss_store_sk))V1)V11
+ where rnk < 11) asceding,
+ (select *
+ from (select item_sk,rank() over (order by rank_col desc) rnk
+ from (select ss_item_sk item_sk,avg(ss_net_profit) rank_col
+ from store_sales ss1
+ where ss_store_sk = 366
+ group by ss_item_sk
+ having avg(ss_net_profit) > 0.9*(select avg(ss_net_profit) rank_col
+ from store_sales
+ where ss_store_sk = 366
+ and ss_cdemo_sk is null
+ group by ss_store_sk))V2)V21
+ where rnk < 11) descending,
+item i1,
+item i2
+where asceding.rnk = descending.rnk
+ and i1.i_item_sk=asceding.item_sk
+ and i2.i_item_sk=descending.item_sk
+order by asceding.rnk
+limit 100;
+
+-- end query 1 in stream 0 using template query44.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query45.sql b/src/s3select/TPCDS/sample-queries-tpcds/query45.sql
new file mode 100644
index 000000000..16d50682a
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query45.sql
@@ -0,0 +1,20 @@
+-- start query 1 in stream 0 using template query45.tpl and seed 2031708268
+select ca_zip, ca_county, sum(ws_sales_price)
+ from web_sales, customer, customer_address, date_dim, item
+ where ws_bill_customer_sk = c_customer_sk
+ and c_current_addr_sk = ca_address_sk
+ and ws_item_sk = i_item_sk
+ and ( substr(ca_zip,1,5) in ('85669', '86197','88274','83405','86475', '85392', '85460', '80348', '81792')
+ or
+ i_item_id in (select i_item_id
+ from item
+ where i_item_sk in (2, 3, 5, 7, 11, 13, 17, 19, 23, 29)
+ )
+ )
+ and ws_sold_date_sk = d_date_sk
+ and d_qoy = 1 and d_year = 1998
+ group by ca_zip, ca_county
+ order by ca_zip, ca_county
+ limit 100;
+
+-- end query 1 in stream 0 using template query45.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query46.sql b/src/s3select/TPCDS/sample-queries-tpcds/query46.sql
new file mode 100644
index 000000000..1adf55dd9
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query46.sql
@@ -0,0 +1,35 @@
+-- start query 1 in stream 0 using template query46.tpl and seed 803547492
+select c_last_name
+ ,c_first_name
+ ,ca_city
+ ,bought_city
+ ,ss_ticket_number
+ ,amt,profit
+ from
+ (select ss_ticket_number
+ ,ss_customer_sk
+ ,ca_city bought_city
+ ,sum(ss_coupon_amt) amt
+ ,sum(ss_net_profit) profit
+ from store_sales,date_dim,store,household_demographics,customer_address
+ where store_sales.ss_sold_date_sk = date_dim.d_date_sk
+ and store_sales.ss_store_sk = store.s_store_sk
+ and store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk
+ and store_sales.ss_addr_sk = customer_address.ca_address_sk
+ and (household_demographics.hd_dep_count = 0 or
+ household_demographics.hd_vehicle_count= 1)
+ and date_dim.d_dow in (6,0)
+ and date_dim.d_year in (2000,2000+1,2000+2)
+ and store.s_city in ('Five Forks','Oakland','Fairview','Winchester','Farmington')
+ group by ss_ticket_number,ss_customer_sk,ss_addr_sk,ca_city) dn,customer,customer_address current_addr
+ where ss_customer_sk = c_customer_sk
+ and customer.c_current_addr_sk = current_addr.ca_address_sk
+ and current_addr.ca_city <> bought_city
+ order by c_last_name
+ ,c_first_name
+ ,ca_city
+ ,bought_city
+ ,ss_ticket_number
+ limit 100;
+
+-- end query 1 in stream 0 using template query46.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query47.sql b/src/s3select/TPCDS/sample-queries-tpcds/query47.sql
new file mode 100644
index 000000000..8a1437acf
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query47.sql
@@ -0,0 +1,51 @@
+-- start query 1 in stream 0 using template query47.tpl and seed 2031708268
+with v1 as(
+ select i_category, i_brand,
+ s_store_name, s_company_name,
+ d_year, d_moy,
+ sum(ss_sales_price) sum_sales,
+ avg(sum(ss_sales_price)) over
+ (partition by i_category, i_brand,
+ s_store_name, s_company_name, d_year)
+ avg_monthly_sales,
+ rank() over
+ (partition by i_category, i_brand,
+ s_store_name, s_company_name
+ order by d_year, d_moy) rn
+ from item, store_sales, date_dim, store
+ where ss_item_sk = i_item_sk and
+ ss_sold_date_sk = d_date_sk and
+ ss_store_sk = s_store_sk and
+ (
+ d_year = 1999 or
+ ( d_year = 1999-1 and d_moy =12) or
+ ( d_year = 1999+1 and d_moy =1)
+ )
+ group by i_category, i_brand,
+ s_store_name, s_company_name,
+ d_year, d_moy),
+ v2 as(
+ select v1.s_store_name
+ ,v1.d_year, v1.d_moy
+ ,v1.avg_monthly_sales
+ ,v1.sum_sales, v1_lag.sum_sales psum, v1_lead.sum_sales nsum
+ from v1, v1 v1_lag, v1 v1_lead
+ where v1.i_category = v1_lag.i_category and
+ v1.i_category = v1_lead.i_category and
+ v1.i_brand = v1_lag.i_brand and
+ v1.i_brand = v1_lead.i_brand and
+ v1.s_store_name = v1_lag.s_store_name and
+ v1.s_store_name = v1_lead.s_store_name and
+ v1.s_company_name = v1_lag.s_company_name and
+ v1.s_company_name = v1_lead.s_company_name and
+ v1.rn = v1_lag.rn + 1 and
+ v1.rn = v1_lead.rn - 1)
+ select *
+ from v2
+ where d_year = 1999 and
+ avg_monthly_sales > 0 and
+ case when avg_monthly_sales > 0 then abs(sum_sales - avg_monthly_sales) / avg_monthly_sales else null end > 0.1
+ order by sum_sales - avg_monthly_sales, sum_sales
+ limit 100;
+
+-- end query 1 in stream 0 using template query47.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query48.sql b/src/s3select/TPCDS/sample-queries-tpcds/query48.sql
new file mode 100644
index 000000000..da87862a3
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query48.sql
@@ -0,0 +1,67 @@
+-- start query 1 in stream 0 using template query48.tpl and seed 622697896
+select sum (ss_quantity)
+ from store_sales, store, customer_demographics, customer_address, date_dim
+ where s_store_sk = ss_store_sk
+ and ss_sold_date_sk = d_date_sk and d_year = 1998
+ and
+ (
+ (
+ cd_demo_sk = ss_cdemo_sk
+ and
+ cd_marital_status = 'M'
+ and
+ cd_education_status = 'Unknown'
+ and
+ ss_sales_price between 100.00 and 150.00
+ )
+ or
+ (
+ cd_demo_sk = ss_cdemo_sk
+ and
+ cd_marital_status = 'W'
+ and
+ cd_education_status = 'College'
+ and
+ ss_sales_price between 50.00 and 100.00
+ )
+ or
+ (
+ cd_demo_sk = ss_cdemo_sk
+ and
+ cd_marital_status = 'D'
+ and
+ cd_education_status = 'Primary'
+ and
+ ss_sales_price between 150.00 and 200.00
+ )
+ )
+ and
+ (
+ (
+ ss_addr_sk = ca_address_sk
+ and
+ ca_country = 'United States'
+ and
+ ca_state in ('MI', 'GA', 'NH')
+ and ss_net_profit between 0 and 2000
+ )
+ or
+ (ss_addr_sk = ca_address_sk
+ and
+ ca_country = 'United States'
+ and
+ ca_state in ('TX', 'KY', 'SD')
+ and ss_net_profit between 150 and 3000
+ )
+ or
+ (ss_addr_sk = ca_address_sk
+ and
+ ca_country = 'United States'
+ and
+ ca_state in ('NY', 'OH', 'FL')
+ and ss_net_profit between 50 and 25000
+ )
+ )
+;
+
+-- end query 1 in stream 0 using template query48.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query49.sql b/src/s3select/TPCDS/sample-queries-tpcds/query49.sql
new file mode 100644
index 000000000..ac029bd51
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query49.sql
@@ -0,0 +1,129 @@
+-- start query 1 in stream 0 using template query49.tpl and seed 1819994127
+select channel, item, return_ratio, return_rank, currency_rank from
+ (select
+ 'web' as channel
+ ,web.item as item
+ ,web.return_ratio as return_ratio
+ ,web.return_rank as return_rank
+ ,web.currency_rank as currency_rank
+ from (
+ select
+ item
+ ,return_ratio
+ ,currency_ratio
+ ,rank() over (order by return_ratio) as return_rank
+ ,rank() over (order by currency_ratio) as currency_rank
+ from
+ ( select ws.ws_item_sk as item
+ ,(cast(sum(coalesce(wr.wr_return_quantity,0)) as decimal(15,4))/
+ cast(sum(coalesce(ws.ws_quantity,0)) as decimal(15,4) )) as return_ratio
+ ,(cast(sum(coalesce(wr.wr_return_amt,0)) as decimal(15,4))/
+ cast(sum(coalesce(ws.ws_net_paid,0)) as decimal(15,4) )) as currency_ratio
+ from
+ web_sales ws left outer join web_returns wr
+ on (ws.ws_order_number = wr.wr_order_number and
+ ws.ws_item_sk = wr.wr_item_sk)
+ ,date_dim
+ where
+ wr.wr_return_amt > 10000
+ and ws.ws_net_profit > 1
+ and ws.ws_net_paid > 0
+ and ws.ws_quantity > 0
+ and ws_sold_date_sk = d_date_sk
+ and d_year = 2000
+ and d_moy = 12
+ group by ws.ws_item_sk
+ ) in_web
+ ) web
+ where
+ (
+ web.return_rank <= 10
+ or
+ web.currency_rank <= 10
+ )
+ union
+ select
+ 'catalog' as channel
+ ,catalog.item as item
+ ,catalog.return_ratio as return_ratio
+ ,catalog.return_rank as return_rank
+ ,catalog.currency_rank as currency_rank
+ from (
+ select
+ item
+ ,return_ratio
+ ,currency_ratio
+ ,rank() over (order by return_ratio) as return_rank
+ ,rank() over (order by currency_ratio) as currency_rank
+ from
+ ( select
+ cs.cs_item_sk as item
+ ,(cast(sum(coalesce(cr.cr_return_quantity,0)) as decimal(15,4))/
+ cast(sum(coalesce(cs.cs_quantity,0)) as decimal(15,4) )) as return_ratio
+ ,(cast(sum(coalesce(cr.cr_return_amount,0)) as decimal(15,4))/
+ cast(sum(coalesce(cs.cs_net_paid,0)) as decimal(15,4) )) as currency_ratio
+ from
+ catalog_sales cs left outer join catalog_returns cr
+ on (cs.cs_order_number = cr.cr_order_number and
+ cs.cs_item_sk = cr.cr_item_sk)
+ ,date_dim
+ where
+ cr.cr_return_amount > 10000
+ and cs.cs_net_profit > 1
+ and cs.cs_net_paid > 0
+ and cs.cs_quantity > 0
+ and cs_sold_date_sk = d_date_sk
+ and d_year = 2000
+ and d_moy = 12
+ group by cs.cs_item_sk
+ ) in_cat
+ ) catalog
+ where
+ (
+ catalog.return_rank <= 10
+ or
+ catalog.currency_rank <=10
+ )
+ union
+ select
+ 'store' as channel
+ ,store.item as item
+ ,store.return_ratio as return_ratio
+ ,store.return_rank as return_rank
+ ,store.currency_rank as currency_rank
+ from (
+ select
+ item
+ ,return_ratio
+ ,currency_ratio
+ ,rank() over (order by return_ratio) as return_rank
+ ,rank() over (order by currency_ratio) as currency_rank
+ from
+ ( select sts.ss_item_sk as item
+ ,(cast(sum(coalesce(sr.sr_return_quantity,0)) as decimal(15,4))/cast(sum(coalesce(sts.ss_quantity,0)) as decimal(15,4) )) as return_ratio
+ ,(cast(sum(coalesce(sr.sr_return_amt,0)) as decimal(15,4))/cast(sum(coalesce(sts.ss_net_paid,0)) as decimal(15,4) )) as currency_ratio
+ from
+ store_sales sts left outer join store_returns sr
+ on (sts.ss_ticket_number = sr.sr_ticket_number and sts.ss_item_sk = sr.sr_item_sk)
+ ,date_dim
+ where
+ sr.sr_return_amt > 10000
+ and sts.ss_net_profit > 1
+ and sts.ss_net_paid > 0
+ and sts.ss_quantity > 0
+ and ss_sold_date_sk = d_date_sk
+ and d_year = 2000
+ and d_moy = 12
+ group by sts.ss_item_sk
+ ) in_store
+ ) store
+ where (
+ store.return_rank <= 10
+ or
+ store.currency_rank <= 10
+ )
+ ) y
+ order by 1,4,5,2
+ limit 100;
+
+-- end query 1 in stream 0 using template query49.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query5.sql b/src/s3select/TPCDS/sample-queries-tpcds/query5.sql
new file mode 100644
index 000000000..3400b6763
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query5.sql
@@ -0,0 +1,128 @@
+-- start query 1 in stream 0 using template query5.tpl and seed 1819994127
+with ssr as
+ (select s_store_id,
+ sum(sales_price) as sales,
+ sum(profit) as profit,
+ sum(return_amt) as returns,
+ sum(net_loss) as profit_loss
+ from
+ ( select ss_store_sk as store_sk,
+ ss_sold_date_sk as date_sk,
+ ss_ext_sales_price as sales_price,
+ ss_net_profit as profit,
+ cast(0 as decimal(7,2)) as return_amt,
+ cast(0 as decimal(7,2)) as net_loss
+ from store_sales
+ union all
+ select sr_store_sk as store_sk,
+ sr_returned_date_sk as date_sk,
+ cast(0 as decimal(7,2)) as sales_price,
+ cast(0 as decimal(7,2)) as profit,
+ sr_return_amt as return_amt,
+ sr_net_loss as net_loss
+ from store_returns
+ ) salesreturns,
+ date_dim,
+ store
+ where date_sk = d_date_sk
+ and d_date between cast('2000-08-19' as date)
+ and (cast('2000-08-19' as date) + interval '14' day)
+ and store_sk = s_store_sk
+ group by s_store_id)
+ ,
+ csr as
+ (select cp_catalog_page_id,
+ sum(sales_price) as sales,
+ sum(profit) as profit,
+ sum(return_amt) as returns,
+ sum(net_loss) as profit_loss
+ from
+ ( select cs_catalog_page_sk as page_sk,
+ cs_sold_date_sk as date_sk,
+ cs_ext_sales_price as sales_price,
+ cs_net_profit as profit,
+ cast(0 as decimal(7,2)) as return_amt,
+ cast(0 as decimal(7,2)) as net_loss
+ from catalog_sales
+ union all
+ select cr_catalog_page_sk as page_sk,
+ cr_returned_date_sk as date_sk,
+ cast(0 as decimal(7,2)) as sales_price,
+ cast(0 as decimal(7,2)) as profit,
+ cr_return_amount as return_amt,
+ cr_net_loss as net_loss
+ from catalog_returns
+ ) salesreturns,
+ date_dim,
+ catalog_page
+ where date_sk = d_date_sk
+ and d_date between cast('2000-08-19' as date)
+ and (cast('2000-08-19' as date) + interval '14' day)
+ and page_sk = cp_catalog_page_sk
+ group by cp_catalog_page_id)
+ ,
+ wsr as
+ (select web_site_id,
+ sum(sales_price) as sales,
+ sum(profit) as profit,
+ sum(return_amt) as returns,
+ sum(net_loss) as profit_loss
+ from
+ ( select ws_web_site_sk as wsr_web_site_sk,
+ ws_sold_date_sk as date_sk,
+ ws_ext_sales_price as sales_price,
+ ws_net_profit as profit,
+ cast(0 as decimal(7,2)) as return_amt,
+ cast(0 as decimal(7,2)) as net_loss
+ from web_sales
+ union all
+ select ws_web_site_sk as wsr_web_site_sk,
+ wr_returned_date_sk as date_sk,
+ cast(0 as decimal(7,2)) as sales_price,
+ cast(0 as decimal(7,2)) as profit,
+ wr_return_amt as return_amt,
+ wr_net_loss as net_loss
+ from web_returns left outer join web_sales on
+ ( wr_item_sk = ws_item_sk
+ and wr_order_number = ws_order_number)
+ ) salesreturns,
+ date_dim,
+ web_site
+ where date_sk = d_date_sk
+ and d_date between cast('2000-08-19' as date)
+ and (cast('2000-08-19' as date) + interval '14' day)
+ and wsr_web_site_sk = web_site_sk
+ group by web_site_id)
+ select channel
+ , id
+ , sum(sales) as sales
+ , sum(returns) as returns
+ , sum(profit) as profit
+ from
+ (select 'store channel' as channel
+ , 'store' || s_store_id as id
+ , sales
+ , returns
+ , (profit - profit_loss) as profit
+ from ssr
+ union all
+ select 'catalog channel' as channel
+ , 'catalog_page' || cp_catalog_page_id as id
+ , sales
+ , returns
+ , (profit - profit_loss) as profit
+ from csr
+ union all
+ select 'web channel' as channel
+ , 'web_site' || web_site_id as id
+ , sales
+ , returns
+ , (profit - profit_loss) as profit
+ from wsr
+ ) x
+ group by rollup (channel, id)
+ order by channel
+ ,id
+ limit 100;
+
+-- end query 1 in stream 0 using template query5.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query50.sql b/src/s3select/TPCDS/sample-queries-tpcds/query50.sql
new file mode 100644
index 000000000..206432b8e
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query50.sql
@@ -0,0 +1,59 @@
+-- start query 1 in stream 0 using template query50.tpl and seed 1819994127
+select
+ s_store_name
+ ,s_company_id
+ ,s_street_number
+ ,s_street_name
+ ,s_street_type
+ ,s_suite_number
+ ,s_city
+ ,s_county
+ ,s_state
+ ,s_zip
+ ,sum(case when (sr_returned_date_sk - ss_sold_date_sk <= 30 ) then 1 else 0 end) as "30 days"
+ ,sum(case when (sr_returned_date_sk - ss_sold_date_sk > 30) and
+ (sr_returned_date_sk - ss_sold_date_sk <= 60) then 1 else 0 end ) as "31-60 days"
+ ,sum(case when (sr_returned_date_sk - ss_sold_date_sk > 60) and
+ (sr_returned_date_sk - ss_sold_date_sk <= 90) then 1 else 0 end) as "61-90 days"
+ ,sum(case when (sr_returned_date_sk - ss_sold_date_sk > 90) and
+ (sr_returned_date_sk - ss_sold_date_sk <= 120) then 1 else 0 end) as "91-120 days"
+ ,sum(case when (sr_returned_date_sk - ss_sold_date_sk > 120) then 1 else 0 end) as ">120 days"
+from
+ store_sales
+ ,store_returns
+ ,store
+ ,date_dim d1
+ ,date_dim d2
+where
+ d2.d_year = 1998
+and d2.d_moy = 9
+and ss_ticket_number = sr_ticket_number
+and ss_item_sk = sr_item_sk
+and ss_sold_date_sk = d1.d_date_sk
+and sr_returned_date_sk = d2.d_date_sk
+and ss_customer_sk = sr_customer_sk
+and ss_store_sk = s_store_sk
+group by
+ s_store_name
+ ,s_company_id
+ ,s_street_number
+ ,s_street_name
+ ,s_street_type
+ ,s_suite_number
+ ,s_city
+ ,s_county
+ ,s_state
+ ,s_zip
+order by s_store_name
+ ,s_company_id
+ ,s_street_number
+ ,s_street_name
+ ,s_street_type
+ ,s_suite_number
+ ,s_city
+ ,s_county
+ ,s_state
+ ,s_zip
+limit 100;
+
+-- end query 1 in stream 0 using template query50.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query51.sql b/src/s3select/TPCDS/sample-queries-tpcds/query51.sql
new file mode 100644
index 000000000..dbf9807f5
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query51.sql
@@ -0,0 +1,45 @@
+-- start query 1 in stream 0 using template query51.tpl and seed 1819994127
+WITH web_v1 as (
+select
+ ws_item_sk item_sk, d_date,
+ sum(sum(ws_sales_price))
+ over (partition by ws_item_sk order by d_date rows between unbounded preceding and current row) cume_sales
+from web_sales
+ ,date_dim
+where ws_sold_date_sk=d_date_sk
+ and d_month_seq between 1214 and 1214+11
+ and ws_item_sk is not NULL
+group by ws_item_sk, d_date),
+store_v1 as (
+select
+ ss_item_sk item_sk, d_date,
+ sum(sum(ss_sales_price))
+ over (partition by ss_item_sk order by d_date rows between unbounded preceding and current row) cume_sales
+from store_sales
+ ,date_dim
+where ss_sold_date_sk=d_date_sk
+ and d_month_seq between 1214 and 1214+11
+ and ss_item_sk is not NULL
+group by ss_item_sk, d_date)
+ select *
+from (select item_sk
+ ,d_date
+ ,web_sales
+ ,store_sales
+ ,max(web_sales)
+ over (partition by item_sk order by d_date rows between unbounded preceding and current row) web_cumulative
+ ,max(store_sales)
+ over (partition by item_sk order by d_date rows between unbounded preceding and current row) store_cumulative
+ from (select case when web.item_sk is not null then web.item_sk else store.item_sk end item_sk
+ ,case when web.d_date is not null then web.d_date else store.d_date end d_date
+ ,web.cume_sales web_sales
+ ,store.cume_sales store_sales
+ from web_v1 web full outer join store_v1 store on (web.item_sk = store.item_sk
+ and web.d_date = store.d_date)
+ )x )y
+where web_cumulative > store_cumulative
+order by item_sk
+ ,d_date
+limit 100;
+
+-- end query 1 in stream 0 using template query51.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query52.sql b/src/s3select/TPCDS/sample-queries-tpcds/query52.sql
new file mode 100644
index 000000000..316e40e67
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query52.sql
@@ -0,0 +1,22 @@
+-- start query 1 in stream 0 using template query52.tpl and seed 1819994127
+select dt.d_year
+ ,item.i_brand_id brand_id
+ ,item.i_brand brand
+ ,sum(ss_ext_sales_price) ext_price
+ from date_dim dt
+ ,store_sales
+ ,item
+ where dt.d_date_sk = store_sales.ss_sold_date_sk
+ and store_sales.ss_item_sk = item.i_item_sk
+ and item.i_manager_id = 1
+ and dt.d_moy=12
+ and dt.d_year=2000
+ group by dt.d_year
+ ,item.i_brand
+ ,item.i_brand_id
+ order by dt.d_year
+ ,ext_price desc
+ ,brand_id
+limit 100 ;
+
+-- end query 1 in stream 0 using template query52.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query53.sql b/src/s3select/TPCDS/sample-queries-tpcds/query53.sql
new file mode 100644
index 000000000..ab08dbd4f
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query53.sql
@@ -0,0 +1,28 @@
+-- start query 1 in stream 0 using template query53.tpl and seed 1819994127
+select * from
+(select i_manufact_id,
+sum(ss_sales_price) sum_sales,
+avg(sum(ss_sales_price)) over (partition by i_manufact_id) avg_quarterly_sales
+from item, store_sales, date_dim, store
+where ss_item_sk = i_item_sk and
+ss_sold_date_sk = d_date_sk and
+ss_store_sk = s_store_sk and
+d_month_seq in (1212,1212+1,1212+2,1212+3,1212+4,1212+5,1212+6,1212+7,1212+8,1212+9,1212+10,1212+11) and
+((i_category in ('Books','Children','Electronics') and
+i_class in ('personal','portable','reference','self-help') and
+i_brand in ('scholaramalgamalg #14','scholaramalgamalg #7',
+ 'exportiunivamalg #9','scholaramalgamalg #9'))
+or(i_category in ('Women','Music','Men') and
+i_class in ('accessories','classical','fragrances','pants') and
+i_brand in ('amalgimporto #1','edu packscholar #1','exportiimporto #1',
+ 'importoamalg #1')))
+group by i_manufact_id, d_qoy ) tmp1
+where case when avg_quarterly_sales > 0
+ then abs (sum_sales - avg_quarterly_sales)/ avg_quarterly_sales
+ else null end > 0.1
+order by avg_quarterly_sales,
+ sum_sales,
+ i_manufact_id
+limit 100;
+
+-- end query 1 in stream 0 using template query53.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query54.sql b/src/s3select/TPCDS/sample-queries-tpcds/query54.sql
new file mode 100644
index 000000000..453c5110e
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query54.sql
@@ -0,0 +1,56 @@
+-- start query 1 in stream 0 using template query54.tpl and seed 1930872976
+with my_customers as (
+ select distinct c_customer_sk
+ , c_current_addr_sk
+ from
+ ( select cs_sold_date_sk sold_date_sk,
+ cs_bill_customer_sk customer_sk,
+ cs_item_sk item_sk
+ from catalog_sales
+ union all
+ select ws_sold_date_sk sold_date_sk,
+ ws_bill_customer_sk customer_sk,
+ ws_item_sk item_sk
+ from web_sales
+ ) cs_or_ws_sales,
+ item,
+ date_dim,
+ customer
+ where sold_date_sk = d_date_sk
+ and item_sk = i_item_sk
+ and i_category = 'Books'
+ and i_class = 'business'
+ and c_customer_sk = cs_or_ws_sales.customer_sk
+ and d_moy = 2
+ and d_year = 2000
+ )
+ , my_revenue as (
+ select c_customer_sk,
+ sum(ss_ext_sales_price) as revenue
+ from my_customers,
+ store_sales,
+ customer_address,
+ store,
+ date_dim
+ where c_current_addr_sk = ca_address_sk
+ and ca_county = s_county
+ and ca_state = s_state
+ and ss_sold_date_sk = d_date_sk
+ and c_customer_sk = ss_customer_sk
+ and d_month_seq between (select distinct d_month_seq+1
+ from date_dim where d_year = 2000 and d_moy = 2)
+ and (select distinct d_month_seq+3
+ from date_dim where d_year = 2000 and d_moy = 2)
+ group by c_customer_sk
+ )
+ , segments as
+ (select cast((revenue/50) as int) as segment
+ from my_revenue
+ )
+ select segment, count(*) as num_customers, segment*50 as segment_base
+ from segments
+ group by segment
+ order by segment, num_customers
+ limit 100;
+
+-- end query 1 in stream 0 using template query54.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query55.sql b/src/s3select/TPCDS/sample-queries-tpcds/query55.sql
new file mode 100644
index 000000000..09f2b7cf4
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query55.sql
@@ -0,0 +1,14 @@
+-- start query 1 in stream 0 using template query55.tpl and seed 2031708268
+select i_brand_id brand_id, i_brand brand,
+ sum(ss_ext_sales_price) ext_price
+ from date_dim, store_sales, item
+ where d_date_sk = ss_sold_date_sk
+ and ss_item_sk = i_item_sk
+ and i_manager_id=13
+ and d_moy=11
+ and d_year=1999
+ group by i_brand, i_brand_id
+ order by ext_price desc, i_brand_id
+limit 100 ;
+
+-- end query 1 in stream 0 using template query55.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query56.sql b/src/s3select/TPCDS/sample-queries-tpcds/query56.sql
new file mode 100644
index 000000000..a0e245c42
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query56.sql
@@ -0,0 +1,69 @@
+-- start query 1 in stream 0 using template query56.tpl and seed 1951559352
+with ss as (
+ select i_item_id,sum(ss_ext_sales_price) total_sales
+ from
+ store_sales,
+ date_dim,
+ customer_address,
+ item
+ where i_item_id in (select
+ i_item_id
+from item
+where i_color in ('chiffon','smoke','lace'))
+ and ss_item_sk = i_item_sk
+ and ss_sold_date_sk = d_date_sk
+ and d_year = 2001
+ and d_moy = 5
+ and ss_addr_sk = ca_address_sk
+ and ca_gmt_offset = -6
+ group by i_item_id),
+ cs as (
+ select i_item_id,sum(cs_ext_sales_price) total_sales
+ from
+ catalog_sales,
+ date_dim,
+ customer_address,
+ item
+ where
+ i_item_id in (select
+ i_item_id
+from item
+where i_color in ('chiffon','smoke','lace'))
+ and cs_item_sk = i_item_sk
+ and cs_sold_date_sk = d_date_sk
+ and d_year = 2001
+ and d_moy = 5
+ and cs_bill_addr_sk = ca_address_sk
+ and ca_gmt_offset = -6
+ group by i_item_id),
+ ws as (
+ select i_item_id,sum(ws_ext_sales_price) total_sales
+ from
+ web_sales,
+ date_dim,
+ customer_address,
+ item
+ where
+ i_item_id in (select
+ i_item_id
+from item
+where i_color in ('chiffon','smoke','lace'))
+ and ws_item_sk = i_item_sk
+ and ws_sold_date_sk = d_date_sk
+ and d_year = 2001
+ and d_moy = 5
+ and ws_bill_addr_sk = ca_address_sk
+ and ca_gmt_offset = -6
+ group by i_item_id)
+ select i_item_id ,sum(total_sales) total_sales
+ from (select * from ss
+ union all
+ select * from cs
+ union all
+ select * from ws) tmp1
+ group by i_item_id
+ order by total_sales,
+ i_item_id
+ limit 100;
+
+-- end query 1 in stream 0 using template query56.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query57.sql b/src/s3select/TPCDS/sample-queries-tpcds/query57.sql
new file mode 100644
index 000000000..10602da67
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query57.sql
@@ -0,0 +1,48 @@
+-- start query 1 in stream 0 using template query57.tpl and seed 2031708268
+with v1 as(
+ select i_category, i_brand,
+ cc_name,
+ d_year, d_moy,
+ sum(cs_sales_price) sum_sales,
+ avg(sum(cs_sales_price)) over
+ (partition by i_category, i_brand,
+ cc_name, d_year)
+ avg_monthly_sales,
+ rank() over
+ (partition by i_category, i_brand,
+ cc_name
+ order by d_year, d_moy) rn
+ from item, catalog_sales, date_dim, call_center
+ where cs_item_sk = i_item_sk and
+ cs_sold_date_sk = d_date_sk and
+ cc_call_center_sk= cs_call_center_sk and
+ (
+ d_year = 1999 or
+ ( d_year = 1999-1 and d_moy =12) or
+ ( d_year = 1999+1 and d_moy =1)
+ )
+ group by i_category, i_brand,
+ cc_name , d_year, d_moy),
+ v2 as(
+ select v1.i_category, v1.i_brand
+ ,v1.d_year, v1.d_moy
+ ,v1.avg_monthly_sales
+ ,v1.sum_sales, v1_lag.sum_sales psum, v1_lead.sum_sales nsum
+ from v1, v1 v1_lag, v1 v1_lead
+ where v1.i_category = v1_lag.i_category and
+ v1.i_category = v1_lead.i_category and
+ v1.i_brand = v1_lag.i_brand and
+ v1.i_brand = v1_lead.i_brand and
+ v1. cc_name = v1_lag. cc_name and
+ v1. cc_name = v1_lead. cc_name and
+ v1.rn = v1_lag.rn + 1 and
+ v1.rn = v1_lead.rn - 1)
+ select *
+ from v2
+ where d_year = 1999 and
+ avg_monthly_sales > 0 and
+ case when avg_monthly_sales > 0 then abs(sum_sales - avg_monthly_sales) / avg_monthly_sales else null end > 0.1
+ order by sum_sales - avg_monthly_sales, avg_monthly_sales
+ limit 100;
+
+-- end query 1 in stream 0 using template query57.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query58.sql b/src/s3select/TPCDS/sample-queries-tpcds/query58.sql
new file mode 100644
index 000000000..93ac07686
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query58.sql
@@ -0,0 +1,65 @@
+-- start query 1 in stream 0 using template query58.tpl and seed 1819994127
+with ss_items as
+ (select i_item_id item_id
+ ,sum(ss_ext_sales_price) ss_item_rev
+ from store_sales
+ ,item
+ ,date_dim
+ where ss_item_sk = i_item_sk
+ and d_date in (select d_date
+ from date_dim
+ where d_week_seq = (select d_week_seq
+ from date_dim
+ where d_date = cast('1998-02-21' as date)))
+ and ss_sold_date_sk = d_date_sk
+ group by i_item_id),
+ cs_items as
+ (select i_item_id item_id
+ ,sum(cs_ext_sales_price) cs_item_rev
+ from catalog_sales
+ ,item
+ ,date_dim
+ where cs_item_sk = i_item_sk
+ and d_date in (select d_date
+ from date_dim
+ where d_week_seq = (select d_week_seq
+ from date_dim
+ where d_date = cast('1998-02-21' as date)))
+ and cs_sold_date_sk = d_date_sk
+ group by i_item_id),
+ ws_items as
+ (select i_item_id item_id
+ ,sum(ws_ext_sales_price) ws_item_rev
+ from web_sales
+ ,item
+ ,date_dim
+ where ws_item_sk = i_item_sk
+ and d_date in (select d_date
+ from date_dim
+ where d_week_seq =(select d_week_seq
+ from date_dim
+ where d_date = cast('1998-02-21' as date)))
+ and ws_sold_date_sk = d_date_sk
+ group by i_item_id)
+ select ss_items.item_id
+ ,ss_item_rev
+ ,ss_item_rev/((ss_item_rev+cs_item_rev+ws_item_rev)/3) * 100 ss_dev
+ ,cs_item_rev
+ ,cs_item_rev/((ss_item_rev+cs_item_rev+ws_item_rev)/3) * 100 cs_dev
+ ,ws_item_rev
+ ,ws_item_rev/((ss_item_rev+cs_item_rev+ws_item_rev)/3) * 100 ws_dev
+ ,(ss_item_rev+cs_item_rev+ws_item_rev)/3 average
+ from ss_items,cs_items,ws_items
+ where ss_items.item_id=cs_items.item_id
+ and ss_items.item_id=ws_items.item_id
+ and ss_item_rev between 0.9 * cs_item_rev and 1.1 * cs_item_rev
+ and ss_item_rev between 0.9 * ws_item_rev and 1.1 * ws_item_rev
+ and cs_item_rev between 0.9 * ss_item_rev and 1.1 * ss_item_rev
+ and cs_item_rev between 0.9 * ws_item_rev and 1.1 * ws_item_rev
+ and ws_item_rev between 0.9 * ss_item_rev and 1.1 * ss_item_rev
+ and ws_item_rev between 0.9 * cs_item_rev and 1.1 * cs_item_rev
+ order by item_id
+ ,ss_item_rev
+ limit 100;
+
+-- end query 1 in stream 0 using template query58.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query59.sql b/src/s3select/TPCDS/sample-queries-tpcds/query59.sql
new file mode 100644
index 000000000..9e74b19b9
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query59.sql
@@ -0,0 +1,44 @@
+-- start query 1 in stream 0 using template query59.tpl and seed 1819994127
+with wss as
+ (select d_week_seq,
+ ss_store_sk,
+ sum(case when (d_day_name='Sunday') then ss_sales_price else null end) sun_sales,
+ sum(case when (d_day_name='Monday') then ss_sales_price else null end) mon_sales,
+ sum(case when (d_day_name='Tuesday') then ss_sales_price else null end) tue_sales,
+ sum(case when (d_day_name='Wednesday') then ss_sales_price else null end) wed_sales,
+ sum(case when (d_day_name='Thursday') then ss_sales_price else null end) thu_sales,
+ sum(case when (d_day_name='Friday') then ss_sales_price else null end) fri_sales,
+ sum(case when (d_day_name='Saturday') then ss_sales_price else null end) sat_sales
+ from store_sales,date_dim
+ where d_date_sk = ss_sold_date_sk
+ group by d_week_seq,ss_store_sk
+ )
+ select s_store_name1,s_store_id1,d_week_seq1
+ ,sun_sales1/sun_sales2,mon_sales1/mon_sales2
+ ,tue_sales1/tue_sales2,wed_sales1/wed_sales2,thu_sales1/thu_sales2
+ ,fri_sales1/fri_sales2,sat_sales1/sat_sales2
+ from
+ (select s_store_name s_store_name1,wss.d_week_seq d_week_seq1
+ ,s_store_id s_store_id1,sun_sales sun_sales1
+ ,mon_sales mon_sales1,tue_sales tue_sales1
+ ,wed_sales wed_sales1,thu_sales thu_sales1
+ ,fri_sales fri_sales1,sat_sales sat_sales1
+ from wss,store,date_dim d
+ where d.d_week_seq = wss.d_week_seq and
+ ss_store_sk = s_store_sk and
+ d_month_seq between 1205 and 1205 + 11) y,
+ (select s_store_name s_store_name2,wss.d_week_seq d_week_seq2
+ ,s_store_id s_store_id2,sun_sales sun_sales2
+ ,mon_sales mon_sales2,tue_sales tue_sales2
+ ,wed_sales wed_sales2,thu_sales thu_sales2
+ ,fri_sales fri_sales2,sat_sales sat_sales2
+ from wss,store,date_dim d
+ where d.d_week_seq = wss.d_week_seq and
+ ss_store_sk = s_store_sk and
+ d_month_seq between 1205+ 12 and 1205 + 23) x
+ where s_store_id1=s_store_id2
+ and d_week_seq1=d_week_seq2-52
+ order by s_store_name1,s_store_id1,d_week_seq1
+limit 100;
+
+-- end query 1 in stream 0 using template query59.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query6.sql b/src/s3select/TPCDS/sample-queries-tpcds/query6.sql
new file mode 100644
index 000000000..21a8a618c
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query6.sql
@@ -0,0 +1,26 @@
+-- start query 1 in stream 0 using template query6.tpl and seed 1819994127
+select a.ca_state state, count(*) cnt
+ from customer_address a
+ ,customer c
+ ,store_sales s
+ ,date_dim d
+ ,item i
+ where a.ca_address_sk = c.c_current_addr_sk
+ and c.c_customer_sk = s.ss_customer_sk
+ and s.ss_sold_date_sk = d.d_date_sk
+ and s.ss_item_sk = i.i_item_sk
+ and d.d_month_seq =
+ (select distinct (d_month_seq)
+ from date_dim
+ where d_year = 2002
+ and d_moy = 3 )
+ and i.i_current_price > 1.2 *
+ (select avg(j.i_current_price)
+ from item j
+ where j.i_category = i.i_category)
+ group by a.ca_state
+ having count(*) >= 10
+ order by cnt, a.ca_state
+ limit 100;
+
+-- end query 1 in stream 0 using template query6.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query60.sql b/src/s3select/TPCDS/sample-queries-tpcds/query60.sql
new file mode 100644
index 000000000..0f96b97d5
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query60.sql
@@ -0,0 +1,78 @@
+-- start query 1 in stream 0 using template query60.tpl and seed 1930872976
+with ss as (
+ select
+ i_item_id,sum(ss_ext_sales_price) total_sales
+ from
+ store_sales,
+ date_dim,
+ customer_address,
+ item
+ where
+ i_item_id in (select
+ i_item_id
+from
+ item
+where i_category in ('Children'))
+ and ss_item_sk = i_item_sk
+ and ss_sold_date_sk = d_date_sk
+ and d_year = 1998
+ and d_moy = 10
+ and ss_addr_sk = ca_address_sk
+ and ca_gmt_offset = -5
+ group by i_item_id),
+ cs as (
+ select
+ i_item_id,sum(cs_ext_sales_price) total_sales
+ from
+ catalog_sales,
+ date_dim,
+ customer_address,
+ item
+ where
+ i_item_id in (select
+ i_item_id
+from
+ item
+where i_category in ('Children'))
+ and cs_item_sk = i_item_sk
+ and cs_sold_date_sk = d_date_sk
+ and d_year = 1998
+ and d_moy = 10
+ and cs_bill_addr_sk = ca_address_sk
+ and ca_gmt_offset = -5
+ group by i_item_id),
+ ws as (
+ select
+ i_item_id,sum(ws_ext_sales_price) total_sales
+ from
+ web_sales,
+ date_dim,
+ customer_address,
+ item
+ where
+ i_item_id in (select
+ i_item_id
+from
+ item
+where i_category in ('Children'))
+ and ws_item_sk = i_item_sk
+ and ws_sold_date_sk = d_date_sk
+ and d_year = 1998
+ and d_moy = 10
+ and ws_bill_addr_sk = ca_address_sk
+ and ca_gmt_offset = -5
+ group by i_item_id)
+ select
+ i_item_id
+,sum(total_sales) total_sales
+ from (select * from ss
+ union all
+ select * from cs
+ union all
+ select * from ws) tmp1
+ group by i_item_id
+ order by i_item_id
+ ,total_sales
+ limit 100;
+
+-- end query 1 in stream 0 using template query60.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query61.sql b/src/s3select/TPCDS/sample-queries-tpcds/query61.sql
new file mode 100644
index 000000000..4be762663
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query61.sql
@@ -0,0 +1,44 @@
+-- start query 1 in stream 0 using template query61.tpl and seed 1930872976
+select promotions,total,cast(promotions as decimal(15,4))/cast(total as decimal(15,4))*100
+from
+ (select sum(ss_ext_sales_price) promotions
+ from store_sales
+ ,store
+ ,promotion
+ ,date_dim
+ ,customer
+ ,customer_address
+ ,item
+ where ss_sold_date_sk = d_date_sk
+ and ss_store_sk = s_store_sk
+ and ss_promo_sk = p_promo_sk
+ and ss_customer_sk= c_customer_sk
+ and ca_address_sk = c_current_addr_sk
+ and ss_item_sk = i_item_sk
+ and ca_gmt_offset = -6
+ and i_category = 'Sports'
+ and (p_channel_dmail = 'Y' or p_channel_email = 'Y' or p_channel_tv = 'Y')
+ and s_gmt_offset = -6
+ and d_year = 2001
+ and d_moy = 12) promotional_sales,
+ (select sum(ss_ext_sales_price) total
+ from store_sales
+ ,store
+ ,date_dim
+ ,customer
+ ,customer_address
+ ,item
+ where ss_sold_date_sk = d_date_sk
+ and ss_store_sk = s_store_sk
+ and ss_customer_sk= c_customer_sk
+ and ca_address_sk = c_current_addr_sk
+ and ss_item_sk = i_item_sk
+ and ca_gmt_offset = -6
+ and i_category = 'Sports'
+ and s_gmt_offset = -6
+ and d_year = 2001
+ and d_moy = 12) all_sales
+order by promotions, total
+limit 100;
+
+-- end query 1 in stream 0 using template query61.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query62.sql b/src/s3select/TPCDS/sample-queries-tpcds/query62.sql
new file mode 100644
index 000000000..0f8c79422
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query62.sql
@@ -0,0 +1,35 @@
+-- start query 1 in stream 0 using template query62.tpl and seed 1819994127
+select
+ substr(w_warehouse_name,1,20)
+ ,sm_type
+ ,web_name
+ ,sum(case when (ws_ship_date_sk - ws_sold_date_sk <= 30 ) then 1 else 0 end) as "30 days"
+ ,sum(case when (ws_ship_date_sk - ws_sold_date_sk > 30) and
+ (ws_ship_date_sk - ws_sold_date_sk <= 60) then 1 else 0 end ) as "31-60 days"
+ ,sum(case when (ws_ship_date_sk - ws_sold_date_sk > 60) and
+ (ws_ship_date_sk - ws_sold_date_sk <= 90) then 1 else 0 end) as "61-90 days"
+ ,sum(case when (ws_ship_date_sk - ws_sold_date_sk > 90) and
+ (ws_ship_date_sk - ws_sold_date_sk <= 120) then 1 else 0 end) as "91-120 days"
+ ,sum(case when (ws_ship_date_sk - ws_sold_date_sk > 120) then 1 else 0 end) as ">120 days"
+from
+ web_sales
+ ,warehouse
+ ,ship_mode
+ ,web_site
+ ,date_dim
+where
+ d_month_seq between 1215 and 1215 + 11
+and ws_ship_date_sk = d_date_sk
+and ws_warehouse_sk = w_warehouse_sk
+and ws_ship_mode_sk = sm_ship_mode_sk
+and ws_web_site_sk = web_site_sk
+group by
+ substr(w_warehouse_name,1,20)
+ ,sm_type
+ ,web_name
+order by substr(w_warehouse_name,1,20)
+ ,sm_type
+ ,web_name
+limit 100;
+
+-- end query 1 in stream 0 using template query62.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query63.sql b/src/s3select/TPCDS/sample-queries-tpcds/query63.sql
new file mode 100644
index 000000000..599a2d023
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query63.sql
@@ -0,0 +1,29 @@
+-- start query 1 in stream 0 using template query63.tpl and seed 1819994127
+select *
+from (select i_manager_id
+ ,sum(ss_sales_price) sum_sales
+ ,avg(sum(ss_sales_price)) over (partition by i_manager_id) avg_monthly_sales
+ from item
+ ,store_sales
+ ,date_dim
+ ,store
+ where ss_item_sk = i_item_sk
+ and ss_sold_date_sk = d_date_sk
+ and ss_store_sk = s_store_sk
+ and d_month_seq in (1211,1211+1,1211+2,1211+3,1211+4,1211+5,1211+6,1211+7,1211+8,1211+9,1211+10,1211+11)
+ and (( i_category in ('Books','Children','Electronics')
+ and i_class in ('personal','portable','reference','self-help')
+ and i_brand in ('scholaramalgamalg #14','scholaramalgamalg #7',
+ 'exportiunivamalg #9','scholaramalgamalg #9'))
+ or( i_category in ('Women','Music','Men')
+ and i_class in ('accessories','classical','fragrances','pants')
+ and i_brand in ('amalgimporto #1','edu packscholar #1','exportiimporto #1',
+ 'importoamalg #1')))
+group by i_manager_id, d_moy) tmp1
+where case when avg_monthly_sales > 0 then abs (sum_sales - avg_monthly_sales) / avg_monthly_sales else null end > 0.1
+order by i_manager_id
+ ,avg_monthly_sales
+ ,sum_sales
+limit 100;
+
+-- end query 1 in stream 0 using template query63.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query64.sql b/src/s3select/TPCDS/sample-queries-tpcds/query64.sql
new file mode 100644
index 000000000..e353b930d
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query64.sql
@@ -0,0 +1,121 @@
+-- start query 1 in stream 0 using template query64.tpl and seed 1220860970
+with cs_ui as
+ (select cs_item_sk
+ ,sum(cs_ext_list_price) as sale,sum(cr_refunded_cash+cr_reversed_charge+cr_store_credit) as refund
+ from catalog_sales
+ ,catalog_returns
+ where cs_item_sk = cr_item_sk
+ and cs_order_number = cr_order_number
+ group by cs_item_sk
+ having sum(cs_ext_list_price)>2*sum(cr_refunded_cash+cr_reversed_charge+cr_store_credit)),
+cross_sales as
+ (select i_product_name product_name
+ ,i_item_sk item_sk
+ ,s_store_name store_name
+ ,s_zip store_zip
+ ,ad1.ca_street_number b_street_number
+ ,ad1.ca_street_name b_street_name
+ ,ad1.ca_city b_city
+ ,ad1.ca_zip b_zip
+ ,ad2.ca_street_number c_street_number
+ ,ad2.ca_street_name c_street_name
+ ,ad2.ca_city c_city
+ ,ad2.ca_zip c_zip
+ ,d1.d_year as syear
+ ,d2.d_year as fsyear
+ ,d3.d_year s2year
+ ,count(*) cnt
+ ,sum(ss_wholesale_cost) s1
+ ,sum(ss_list_price) s2
+ ,sum(ss_coupon_amt) s3
+ FROM store_sales
+ ,store_returns
+ ,cs_ui
+ ,date_dim d1
+ ,date_dim d2
+ ,date_dim d3
+ ,store
+ ,customer
+ ,customer_demographics cd1
+ ,customer_demographics cd2
+ ,promotion
+ ,household_demographics hd1
+ ,household_demographics hd2
+ ,customer_address ad1
+ ,customer_address ad2
+ ,income_band ib1
+ ,income_band ib2
+ ,item
+ WHERE ss_store_sk = s_store_sk AND
+ ss_sold_date_sk = d1.d_date_sk AND
+ ss_customer_sk = c_customer_sk AND
+ ss_cdemo_sk= cd1.cd_demo_sk AND
+ ss_hdemo_sk = hd1.hd_demo_sk AND
+ ss_addr_sk = ad1.ca_address_sk and
+ ss_item_sk = i_item_sk and
+ ss_item_sk = sr_item_sk and
+ ss_ticket_number = sr_ticket_number and
+ ss_item_sk = cs_ui.cs_item_sk and
+ c_current_cdemo_sk = cd2.cd_demo_sk AND
+ c_current_hdemo_sk = hd2.hd_demo_sk AND
+ c_current_addr_sk = ad2.ca_address_sk and
+ c_first_sales_date_sk = d2.d_date_sk and
+ c_first_shipto_date_sk = d3.d_date_sk and
+ ss_promo_sk = p_promo_sk and
+ hd1.hd_income_band_sk = ib1.ib_income_band_sk and
+ hd2.hd_income_band_sk = ib2.ib_income_band_sk and
+ cd1.cd_marital_status <> cd2.cd_marital_status and
+ i_color in ('azure','gainsboro','misty','blush','hot','lemon') and
+ i_current_price between 80 and 80 + 10 and
+ i_current_price between 80 + 1 and 80 + 15
+group by i_product_name
+ ,i_item_sk
+ ,s_store_name
+ ,s_zip
+ ,ad1.ca_street_number
+ ,ad1.ca_street_name
+ ,ad1.ca_city
+ ,ad1.ca_zip
+ ,ad2.ca_street_number
+ ,ad2.ca_street_name
+ ,ad2.ca_city
+ ,ad2.ca_zip
+ ,d1.d_year
+ ,d2.d_year
+ ,d3.d_year
+)
+select cs1.product_name
+ ,cs1.store_name
+ ,cs1.store_zip
+ ,cs1.b_street_number
+ ,cs1.b_street_name
+ ,cs1.b_city
+ ,cs1.b_zip
+ ,cs1.c_street_number
+ ,cs1.c_street_name
+ ,cs1.c_city
+ ,cs1.c_zip
+ ,cs1.syear
+ ,cs1.cnt
+ ,cs1.s1 as s11
+ ,cs1.s2 as s21
+ ,cs1.s3 as s31
+ ,cs2.s1 as s12
+ ,cs2.s2 as s22
+ ,cs2.s3 as s32
+ ,cs2.syear
+ ,cs2.cnt
+from cross_sales cs1,cross_sales cs2
+where cs1.item_sk=cs2.item_sk and
+ cs1.syear = 1999 and
+ cs2.syear = 1999 + 1 and
+ cs2.cnt <= cs1.cnt and
+ cs1.store_name = cs2.store_name and
+ cs1.store_zip = cs2.store_zip
+order by cs1.product_name
+ ,cs1.store_name
+ ,cs2.cnt
+ ,cs1.s1
+ ,cs2.s1;
+
+-- end query 1 in stream 0 using template query64.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query65.sql b/src/s3select/TPCDS/sample-queries-tpcds/query65.sql
new file mode 100644
index 000000000..826ecc644
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query65.sql
@@ -0,0 +1,29 @@
+-- start query 1 in stream 0 using template query65.tpl and seed 1819994127
+select
+ s_store_name,
+ i_item_desc,
+ sc.revenue,
+ i_current_price,
+ i_wholesale_cost,
+ i_brand
+ from store, item,
+ (select ss_store_sk, avg(revenue) as ave
+ from
+ (select ss_store_sk, ss_item_sk,
+ sum(ss_sales_price) as revenue
+ from store_sales, date_dim
+ where ss_sold_date_sk = d_date_sk and d_month_seq between 1186 and 1186+11
+ group by ss_store_sk, ss_item_sk) sa
+ group by ss_store_sk) sb,
+ (select ss_store_sk, ss_item_sk, sum(ss_sales_price) as revenue
+ from store_sales, date_dim
+ where ss_sold_date_sk = d_date_sk and d_month_seq between 1186 and 1186+11
+ group by ss_store_sk, ss_item_sk) sc
+ where sb.ss_store_sk = sc.ss_store_sk and
+ sc.revenue <= 0.1 * sb.ave and
+ s_store_sk = sc.ss_store_sk and
+ i_item_sk = sc.ss_item_sk
+ order by s_store_name, i_item_desc
+limit 100;
+
+-- end query 1 in stream 0 using template query65.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query66.sql b/src/s3select/TPCDS/sample-queries-tpcds/query66.sql
new file mode 100644
index 000000000..987238b12
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query66.sql
@@ -0,0 +1,220 @@
+-- start query 1 in stream 0 using template query66.tpl and seed 2042478054
+select
+ w_warehouse_name
+ ,w_warehouse_sq_ft
+ ,w_city
+ ,w_county
+ ,w_state
+ ,w_country
+ ,ship_carriers
+ ,year
+ ,sum(jan_sales) as jan_sales
+ ,sum(feb_sales) as feb_sales
+ ,sum(mar_sales) as mar_sales
+ ,sum(apr_sales) as apr_sales
+ ,sum(may_sales) as may_sales
+ ,sum(jun_sales) as jun_sales
+ ,sum(jul_sales) as jul_sales
+ ,sum(aug_sales) as aug_sales
+ ,sum(sep_sales) as sep_sales
+ ,sum(oct_sales) as oct_sales
+ ,sum(nov_sales) as nov_sales
+ ,sum(dec_sales) as dec_sales
+ ,sum(jan_sales/w_warehouse_sq_ft) as jan_sales_per_sq_foot
+ ,sum(feb_sales/w_warehouse_sq_ft) as feb_sales_per_sq_foot
+ ,sum(mar_sales/w_warehouse_sq_ft) as mar_sales_per_sq_foot
+ ,sum(apr_sales/w_warehouse_sq_ft) as apr_sales_per_sq_foot
+ ,sum(may_sales/w_warehouse_sq_ft) as may_sales_per_sq_foot
+ ,sum(jun_sales/w_warehouse_sq_ft) as jun_sales_per_sq_foot
+ ,sum(jul_sales/w_warehouse_sq_ft) as jul_sales_per_sq_foot
+ ,sum(aug_sales/w_warehouse_sq_ft) as aug_sales_per_sq_foot
+ ,sum(sep_sales/w_warehouse_sq_ft) as sep_sales_per_sq_foot
+ ,sum(oct_sales/w_warehouse_sq_ft) as oct_sales_per_sq_foot
+ ,sum(nov_sales/w_warehouse_sq_ft) as nov_sales_per_sq_foot
+ ,sum(dec_sales/w_warehouse_sq_ft) as dec_sales_per_sq_foot
+ ,sum(jan_net) as jan_net
+ ,sum(feb_net) as feb_net
+ ,sum(mar_net) as mar_net
+ ,sum(apr_net) as apr_net
+ ,sum(may_net) as may_net
+ ,sum(jun_net) as jun_net
+ ,sum(jul_net) as jul_net
+ ,sum(aug_net) as aug_net
+ ,sum(sep_net) as sep_net
+ ,sum(oct_net) as oct_net
+ ,sum(nov_net) as nov_net
+ ,sum(dec_net) as dec_net
+ from (
+ select
+ w_warehouse_name
+ ,w_warehouse_sq_ft
+ ,w_city
+ ,w_county
+ ,w_state
+ ,w_country
+ ,'MSC' || ',' || 'GERMA' as ship_carriers
+ ,d_year as year
+ ,sum(case when d_moy = 1
+ then ws_sales_price* ws_quantity else 0 end) as jan_sales
+ ,sum(case when d_moy = 2
+ then ws_sales_price* ws_quantity else 0 end) as feb_sales
+ ,sum(case when d_moy = 3
+ then ws_sales_price* ws_quantity else 0 end) as mar_sales
+ ,sum(case when d_moy = 4
+ then ws_sales_price* ws_quantity else 0 end) as apr_sales
+ ,sum(case when d_moy = 5
+ then ws_sales_price* ws_quantity else 0 end) as may_sales
+ ,sum(case when d_moy = 6
+ then ws_sales_price* ws_quantity else 0 end) as jun_sales
+ ,sum(case when d_moy = 7
+ then ws_sales_price* ws_quantity else 0 end) as jul_sales
+ ,sum(case when d_moy = 8
+ then ws_sales_price* ws_quantity else 0 end) as aug_sales
+ ,sum(case when d_moy = 9
+ then ws_sales_price* ws_quantity else 0 end) as sep_sales
+ ,sum(case when d_moy = 10
+ then ws_sales_price* ws_quantity else 0 end) as oct_sales
+ ,sum(case when d_moy = 11
+ then ws_sales_price* ws_quantity else 0 end) as nov_sales
+ ,sum(case when d_moy = 12
+ then ws_sales_price* ws_quantity else 0 end) as dec_sales
+ ,sum(case when d_moy = 1
+ then ws_net_paid_inc_ship_tax * ws_quantity else 0 end) as jan_net
+ ,sum(case when d_moy = 2
+ then ws_net_paid_inc_ship_tax * ws_quantity else 0 end) as feb_net
+ ,sum(case when d_moy = 3
+ then ws_net_paid_inc_ship_tax * ws_quantity else 0 end) as mar_net
+ ,sum(case when d_moy = 4
+ then ws_net_paid_inc_ship_tax * ws_quantity else 0 end) as apr_net
+ ,sum(case when d_moy = 5
+ then ws_net_paid_inc_ship_tax * ws_quantity else 0 end) as may_net
+ ,sum(case when d_moy = 6
+ then ws_net_paid_inc_ship_tax * ws_quantity else 0 end) as jun_net
+ ,sum(case when d_moy = 7
+ then ws_net_paid_inc_ship_tax * ws_quantity else 0 end) as jul_net
+ ,sum(case when d_moy = 8
+ then ws_net_paid_inc_ship_tax * ws_quantity else 0 end) as aug_net
+ ,sum(case when d_moy = 9
+ then ws_net_paid_inc_ship_tax * ws_quantity else 0 end) as sep_net
+ ,sum(case when d_moy = 10
+ then ws_net_paid_inc_ship_tax * ws_quantity else 0 end) as oct_net
+ ,sum(case when d_moy = 11
+ then ws_net_paid_inc_ship_tax * ws_quantity else 0 end) as nov_net
+ ,sum(case when d_moy = 12
+ then ws_net_paid_inc_ship_tax * ws_quantity else 0 end) as dec_net
+ from
+ web_sales
+ ,warehouse
+ ,date_dim
+ ,time_dim
+ ,ship_mode
+ where
+ ws_warehouse_sk = w_warehouse_sk
+ and ws_sold_date_sk = d_date_sk
+ and ws_sold_time_sk = t_time_sk
+ and ws_ship_mode_sk = sm_ship_mode_sk
+ and d_year = 2001
+ and t_time between 9453 and 9453+28800
+ and sm_carrier in ('MSC','GERMA')
+ group by
+ w_warehouse_name
+ ,w_warehouse_sq_ft
+ ,w_city
+ ,w_county
+ ,w_state
+ ,w_country
+ ,d_year
+ union all
+ select
+ w_warehouse_name
+ ,w_warehouse_sq_ft
+ ,w_city
+ ,w_county
+ ,w_state
+ ,w_country
+ ,'MSC' || ',' || 'GERMA' as ship_carriers
+ ,d_year as year
+ ,sum(case when d_moy = 1
+ then cs_ext_list_price* cs_quantity else 0 end) as jan_sales
+ ,sum(case when d_moy = 2
+ then cs_ext_list_price* cs_quantity else 0 end) as feb_sales
+ ,sum(case when d_moy = 3
+ then cs_ext_list_price* cs_quantity else 0 end) as mar_sales
+ ,sum(case when d_moy = 4
+ then cs_ext_list_price* cs_quantity else 0 end) as apr_sales
+ ,sum(case when d_moy = 5
+ then cs_ext_list_price* cs_quantity else 0 end) as may_sales
+ ,sum(case when d_moy = 6
+ then cs_ext_list_price* cs_quantity else 0 end) as jun_sales
+ ,sum(case when d_moy = 7
+ then cs_ext_list_price* cs_quantity else 0 end) as jul_sales
+ ,sum(case when d_moy = 8
+ then cs_ext_list_price* cs_quantity else 0 end) as aug_sales
+ ,sum(case when d_moy = 9
+ then cs_ext_list_price* cs_quantity else 0 end) as sep_sales
+ ,sum(case when d_moy = 10
+ then cs_ext_list_price* cs_quantity else 0 end) as oct_sales
+ ,sum(case when d_moy = 11
+ then cs_ext_list_price* cs_quantity else 0 end) as nov_sales
+ ,sum(case when d_moy = 12
+ then cs_ext_list_price* cs_quantity else 0 end) as dec_sales
+ ,sum(case when d_moy = 1
+ then cs_net_paid_inc_ship * cs_quantity else 0 end) as jan_net
+ ,sum(case when d_moy = 2
+ then cs_net_paid_inc_ship * cs_quantity else 0 end) as feb_net
+ ,sum(case when d_moy = 3
+ then cs_net_paid_inc_ship * cs_quantity else 0 end) as mar_net
+ ,sum(case when d_moy = 4
+ then cs_net_paid_inc_ship * cs_quantity else 0 end) as apr_net
+ ,sum(case when d_moy = 5
+ then cs_net_paid_inc_ship * cs_quantity else 0 end) as may_net
+ ,sum(case when d_moy = 6
+ then cs_net_paid_inc_ship * cs_quantity else 0 end) as jun_net
+ ,sum(case when d_moy = 7
+ then cs_net_paid_inc_ship * cs_quantity else 0 end) as jul_net
+ ,sum(case when d_moy = 8
+ then cs_net_paid_inc_ship * cs_quantity else 0 end) as aug_net
+ ,sum(case when d_moy = 9
+ then cs_net_paid_inc_ship * cs_quantity else 0 end) as sep_net
+ ,sum(case when d_moy = 10
+ then cs_net_paid_inc_ship * cs_quantity else 0 end) as oct_net
+ ,sum(case when d_moy = 11
+ then cs_net_paid_inc_ship * cs_quantity else 0 end) as nov_net
+ ,sum(case when d_moy = 12
+ then cs_net_paid_inc_ship * cs_quantity else 0 end) as dec_net
+ from
+ catalog_sales
+ ,warehouse
+ ,date_dim
+ ,time_dim
+ ,ship_mode
+ where
+ cs_warehouse_sk = w_warehouse_sk
+ and cs_sold_date_sk = d_date_sk
+ and cs_sold_time_sk = t_time_sk
+ and cs_ship_mode_sk = sm_ship_mode_sk
+ and d_year = 2001
+ and t_time between 9453 AND 9453+28800
+ and sm_carrier in ('MSC','GERMA')
+ group by
+ w_warehouse_name
+ ,w_warehouse_sq_ft
+ ,w_city
+ ,w_county
+ ,w_state
+ ,w_country
+ ,d_year
+ ) x
+ group by
+ w_warehouse_name
+ ,w_warehouse_sq_ft
+ ,w_city
+ ,w_county
+ ,w_state
+ ,w_country
+ ,ship_carriers
+ ,year
+ order by w_warehouse_name
+ limit 100;
+
+-- end query 1 in stream 0 using template query66.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query67.sql b/src/s3select/TPCDS/sample-queries-tpcds/query67.sql
new file mode 100644
index 000000000..df485b9ce
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query67.sql
@@ -0,0 +1,44 @@
+-- start query 1 in stream 0 using template query67.tpl and seed 1819994127
+select *
+from (select i_category
+ ,i_class
+ ,i_brand
+ ,i_product_name
+ ,d_year
+ ,d_qoy
+ ,d_moy
+ ,s_store_id
+ ,sumsales
+ ,rank() over (partition by i_category order by sumsales desc) rk
+ from (select i_category
+ ,i_class
+ ,i_brand
+ ,i_product_name
+ ,d_year
+ ,d_qoy
+ ,d_moy
+ ,s_store_id
+ ,sum(coalesce(ss_sales_price*ss_quantity,0)) sumsales
+ from store_sales
+ ,date_dim
+ ,store
+ ,item
+ where ss_sold_date_sk=d_date_sk
+ and ss_item_sk=i_item_sk
+ and ss_store_sk = s_store_sk
+ and d_month_seq between 1185 and 1185+11
+ group by rollup(i_category, i_class, i_brand, i_product_name, d_year, d_qoy, d_moy,s_store_id))dw1) dw2
+where rk <= 100
+order by i_category
+ ,i_class
+ ,i_brand
+ ,i_product_name
+ ,d_year
+ ,d_qoy
+ ,d_moy
+ ,s_store_id
+ ,sumsales
+ ,rk
+limit 100;
+
+-- end query 1 in stream 0 using template query67.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query68.sql b/src/s3select/TPCDS/sample-queries-tpcds/query68.sql
new file mode 100644
index 000000000..9c16a7eed
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query68.sql
@@ -0,0 +1,42 @@
+-- start query 1 in stream 0 using template query68.tpl and seed 803547492
+select c_last_name
+ ,c_first_name
+ ,ca_city
+ ,bought_city
+ ,ss_ticket_number
+ ,extended_price
+ ,extended_tax
+ ,list_price
+ from (select ss_ticket_number
+ ,ss_customer_sk
+ ,ca_city bought_city
+ ,sum(ss_ext_sales_price) extended_price
+ ,sum(ss_ext_list_price) list_price
+ ,sum(ss_ext_tax) extended_tax
+ from store_sales
+ ,date_dim
+ ,store
+ ,household_demographics
+ ,customer_address
+ where store_sales.ss_sold_date_sk = date_dim.d_date_sk
+ and store_sales.ss_store_sk = store.s_store_sk
+ and store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk
+ and store_sales.ss_addr_sk = customer_address.ca_address_sk
+ and date_dim.d_dom between 1 and 2
+ and (household_demographics.hd_dep_count = 4 or
+ household_demographics.hd_vehicle_count= 0)
+ and date_dim.d_year in (1999,1999+1,1999+2)
+ and store.s_city in ('Pleasant Hill','Bethel')
+ group by ss_ticket_number
+ ,ss_customer_sk
+ ,ss_addr_sk,ca_city) dn
+ ,customer
+ ,customer_address current_addr
+ where ss_customer_sk = c_customer_sk
+ and customer.c_current_addr_sk = current_addr.ca_address_sk
+ and current_addr.ca_city <> bought_city
+ order by c_last_name
+ ,ss_ticket_number
+ limit 100;
+
+-- end query 1 in stream 0 using template query68.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query69.sql b/src/s3select/TPCDS/sample-queries-tpcds/query69.sql
new file mode 100644
index 000000000..441077440
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query69.sql
@@ -0,0 +1,47 @@
+-- start query 1 in stream 0 using template query69.tpl and seed 797269820
+select
+ cd_gender,
+ cd_marital_status,
+ cd_education_status,
+ count(*) cnt1,
+ cd_purchase_estimate,
+ count(*) cnt2,
+ cd_credit_rating,
+ count(*) cnt3
+ from
+ customer c,customer_address ca,customer_demographics
+ where
+ c.c_current_addr_sk = ca.ca_address_sk and
+ ca_state in ('MO','MN','AZ') and
+ cd_demo_sk = c.c_current_cdemo_sk and
+ exists (select *
+ from store_sales,date_dim
+ where c.c_customer_sk = ss_customer_sk and
+ ss_sold_date_sk = d_date_sk and
+ d_year = 2003 and
+ d_moy between 2 and 2+2) and
+ (not exists (select *
+ from web_sales,date_dim
+ where c.c_customer_sk = ws_bill_customer_sk and
+ ws_sold_date_sk = d_date_sk and
+ d_year = 2003 and
+ d_moy between 2 and 2+2) and
+ not exists (select *
+ from catalog_sales,date_dim
+ where c.c_customer_sk = cs_ship_customer_sk and
+ cs_sold_date_sk = d_date_sk and
+ d_year = 2003 and
+ d_moy between 2 and 2+2))
+ group by cd_gender,
+ cd_marital_status,
+ cd_education_status,
+ cd_purchase_estimate,
+ cd_credit_rating
+ order by cd_gender,
+ cd_marital_status,
+ cd_education_status,
+ cd_purchase_estimate,
+ cd_credit_rating
+ limit 100;
+
+-- end query 1 in stream 0 using template query69.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query7.sql b/src/s3select/TPCDS/sample-queries-tpcds/query7.sql
new file mode 100644
index 000000000..f17231ebb
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query7.sql
@@ -0,0 +1,21 @@
+-- start query 1 in stream 0 using template query7.tpl and seed 1930872976
+select i_item_id,
+ avg(ss_quantity) agg1,
+ avg(ss_list_price) agg2,
+ avg(ss_coupon_amt) agg3,
+ avg(ss_sales_price) agg4
+ from store_sales, customer_demographics, date_dim, item, promotion
+ where ss_sold_date_sk = d_date_sk and
+ ss_item_sk = i_item_sk and
+ ss_cdemo_sk = cd_demo_sk and
+ ss_promo_sk = p_promo_sk and
+ cd_gender = 'F' and
+ cd_marital_status = 'W' and
+ cd_education_status = 'College' and
+ (p_channel_email = 'N' or p_channel_event = 'N') and
+ d_year = 2001
+ group by i_item_id
+ order by i_item_id
+ limit 100;
+
+-- end query 1 in stream 0 using template query7.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query70.sql b/src/s3select/TPCDS/sample-queries-tpcds/query70.sql
new file mode 100644
index 000000000..1d44fbd6a
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query70.sql
@@ -0,0 +1,38 @@
+-- start query 1 in stream 0 using template query70.tpl and seed 1819994127
+select
+ sum(ss_net_profit) as total_sum
+ ,s_state
+ ,s_county
+ ,grouping(s_state)+grouping(s_county) as lochierarchy
+ ,rank() over (
+ partition by grouping(s_state)+grouping(s_county),
+ case when grouping(s_county) = 0 then s_state end
+ order by sum(ss_net_profit) desc) as rank_within_parent
+ from
+ store_sales
+ ,date_dim d1
+ ,store
+ where
+ d1.d_month_seq between 1218 and 1218+11
+ and d1.d_date_sk = ss_sold_date_sk
+ and s_store_sk = ss_store_sk
+ and s_state in
+ ( select s_state
+ from (select s_state as s_state,
+ rank() over ( partition by s_state order by sum(ss_net_profit) desc) as ranking
+ from store_sales, store, date_dim
+ where d_month_seq between 1218 and 1218+11
+ and d_date_sk = ss_sold_date_sk
+ and s_store_sk = ss_store_sk
+ group by s_state
+ ) tmp1
+ where ranking <= 5
+ )
+ group by rollup(s_state,s_county)
+ order by
+ lochierarchy desc
+ ,case when lochierarchy = 0 then s_state end
+ ,rank_within_parent
+ limit 100;
+
+-- end query 1 in stream 0 using template query70.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query71.sql b/src/s3select/TPCDS/sample-queries-tpcds/query71.sql
new file mode 100644
index 000000000..eee496fe8
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query71.sql
@@ -0,0 +1,40 @@
+-- start query 1 in stream 0 using template query71.tpl and seed 2031708268
+select i_brand_id brand_id, i_brand brand,t_hour,t_minute,
+ sum(ext_price) ext_price
+ from item, (select ws_ext_sales_price as ext_price,
+ ws_sold_date_sk as sold_date_sk,
+ ws_item_sk as sold_item_sk,
+ ws_sold_time_sk as time_sk
+ from web_sales,date_dim
+ where d_date_sk = ws_sold_date_sk
+ and d_moy=12
+ and d_year=2000
+ union all
+ select cs_ext_sales_price as ext_price,
+ cs_sold_date_sk as sold_date_sk,
+ cs_item_sk as sold_item_sk,
+ cs_sold_time_sk as time_sk
+ from catalog_sales,date_dim
+ where d_date_sk = cs_sold_date_sk
+ and d_moy=12
+ and d_year=2000
+ union all
+ select ss_ext_sales_price as ext_price,
+ ss_sold_date_sk as sold_date_sk,
+ ss_item_sk as sold_item_sk,
+ ss_sold_time_sk as time_sk
+ from store_sales,date_dim
+ where d_date_sk = ss_sold_date_sk
+ and d_moy=12
+ and d_year=2000
+ ) tmp,time_dim
+ where
+ sold_item_sk = i_item_sk
+ and i_manager_id=1
+ and time_sk = t_time_sk
+ and (t_meal_time = 'breakfast' or t_meal_time = 'dinner')
+ group by i_brand, i_brand_id,t_hour,t_minute
+ order by ext_price desc, i_brand_id
+ ;
+
+-- end query 1 in stream 0 using template query71.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query72.sql b/src/s3select/TPCDS/sample-queries-tpcds/query72.sql
new file mode 100644
index 000000000..9ac928d60
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query72.sql
@@ -0,0 +1,29 @@
+-- start query 1 in stream 0 using template query72.tpl and seed 2031708268
+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 + INTERVAL '5' DAY
+ and hd_buy_potential = '1001-5000'
+ and d1.d_year = 2000
+ 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;
+
+-- end query 1 in stream 0 using template query72.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query73.sql b/src/s3select/TPCDS/sample-queries-tpcds/query73.sql
new file mode 100644
index 000000000..2daa968d7
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query73.sql
@@ -0,0 +1,28 @@
+-- start query 1 in stream 0 using template query73.tpl and seed 1971067816
+select c_last_name
+ ,c_first_name
+ ,c_salutation
+ ,c_preferred_cust_flag
+ ,ss_ticket_number
+ ,cnt from
+ (select ss_ticket_number
+ ,ss_customer_sk
+ ,count(*) cnt
+ from store_sales,date_dim,store,household_demographics
+ where store_sales.ss_sold_date_sk = date_dim.d_date_sk
+ and store_sales.ss_store_sk = store.s_store_sk
+ and store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk
+ and date_dim.d_dom between 1 and 2
+ and (household_demographics.hd_buy_potential = '>10000' or
+ household_demographics.hd_buy_potential = '5001-10000')
+ and household_demographics.hd_vehicle_count > 0
+ and case when household_demographics.hd_vehicle_count > 0 then
+ household_demographics.hd_dep_count/ household_demographics.hd_vehicle_count else null end > 1
+ and date_dim.d_year in (2000,2000+1,2000+2)
+ and store.s_county in ('Lea County','Furnas County','Pennington County','Bronx County')
+ group by ss_ticket_number,ss_customer_sk) dj,customer
+ where ss_customer_sk = c_customer_sk
+ and cnt between 1 and 5
+ order by cnt desc, c_last_name asc;
+
+-- end query 1 in stream 0 using template query73.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query74.sql b/src/s3select/TPCDS/sample-queries-tpcds/query74.sql
new file mode 100644
index 000000000..d44235f5c
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query74.sql
@@ -0,0 +1,61 @@
+-- start query 1 in stream 0 using template query74.tpl and seed 1556717815
+with year_total as (
+ select c_customer_id customer_id
+ ,c_first_name customer_first_name
+ ,c_last_name customer_last_name
+ ,d_year as year
+ ,sum(ss_net_paid) 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
+ and d_year in (1998,1998+1)
+ group by c_customer_id
+ ,c_first_name
+ ,c_last_name
+ ,d_year
+ union all
+ select c_customer_id customer_id
+ ,c_first_name customer_first_name
+ ,c_last_name customer_last_name
+ ,d_year as year
+ ,sum(ws_net_paid) 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
+ and d_year in (1998,1998+1)
+ group by c_customer_id
+ ,c_first_name
+ ,c_last_name
+ ,d_year
+ )
+ select
+ t_s_secyear.customer_id, t_s_secyear.customer_first_name, t_s_secyear.customer_last_name
+ 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.year = 1998
+ and t_s_secyear.year = 1998+1
+ and t_w_firstyear.year = 1998
+ and t_w_secyear.year = 1998+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 null end
+ > case when t_s_firstyear.year_total > 0 then t_s_secyear.year_total / t_s_firstyear.year_total else null end
+ order by 3,1,2
+limit 100;
+
+-- end query 1 in stream 0 using template query74.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query75.sql b/src/s3select/TPCDS/sample-queries-tpcds/query75.sql
new file mode 100644
index 000000000..50b507e1b
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query75.sql
@@ -0,0 +1,70 @@
+-- start query 1 in stream 0 using template query75.tpl and seed 1819994127
+WITH all_sales AS (
+ SELECT d_year
+ ,i_brand_id
+ ,i_class_id
+ ,i_category_id
+ ,i_manufact_id
+ ,SUM(sales_cnt) AS sales_cnt
+ ,SUM(sales_amt) AS sales_amt
+ FROM (SELECT d_year
+ ,i_brand_id
+ ,i_class_id
+ ,i_category_id
+ ,i_manufact_id
+ ,cs_quantity - COALESCE(cr_return_quantity,0) AS sales_cnt
+ ,cs_ext_sales_price - COALESCE(cr_return_amount,0.0) AS sales_amt
+ FROM catalog_sales JOIN item ON i_item_sk=cs_item_sk
+ JOIN date_dim ON d_date_sk=cs_sold_date_sk
+ LEFT JOIN catalog_returns ON (cs_order_number=cr_order_number
+ AND cs_item_sk=cr_item_sk)
+ WHERE i_category='Sports'
+ UNION
+ SELECT d_year
+ ,i_brand_id
+ ,i_class_id
+ ,i_category_id
+ ,i_manufact_id
+ ,ss_quantity - COALESCE(sr_return_quantity,0) AS sales_cnt
+ ,ss_ext_sales_price - COALESCE(sr_return_amt,0.0) AS sales_amt
+ FROM store_sales JOIN item ON i_item_sk=ss_item_sk
+ JOIN date_dim ON d_date_sk=ss_sold_date_sk
+ LEFT JOIN store_returns ON (ss_ticket_number=sr_ticket_number
+ AND ss_item_sk=sr_item_sk)
+ WHERE i_category='Sports'
+ UNION
+ SELECT d_year
+ ,i_brand_id
+ ,i_class_id
+ ,i_category_id
+ ,i_manufact_id
+ ,ws_quantity - COALESCE(wr_return_quantity,0) AS sales_cnt
+ ,ws_ext_sales_price - COALESCE(wr_return_amt,0.0) AS sales_amt
+ FROM web_sales JOIN item ON i_item_sk=ws_item_sk
+ JOIN date_dim ON d_date_sk=ws_sold_date_sk
+ LEFT JOIN web_returns ON (ws_order_number=wr_order_number
+ AND ws_item_sk=wr_item_sk)
+ WHERE i_category='Sports') sales_detail
+ GROUP BY d_year, i_brand_id, i_class_id, i_category_id, i_manufact_id)
+ SELECT prev_yr.d_year AS prev_year
+ ,curr_yr.d_year AS year
+ ,curr_yr.i_brand_id
+ ,curr_yr.i_class_id
+ ,curr_yr.i_category_id
+ ,curr_yr.i_manufact_id
+ ,prev_yr.sales_cnt AS prev_yr_cnt
+ ,curr_yr.sales_cnt AS curr_yr_cnt
+ ,curr_yr.sales_cnt-prev_yr.sales_cnt AS sales_cnt_diff
+ ,curr_yr.sales_amt-prev_yr.sales_amt AS sales_amt_diff
+ FROM all_sales curr_yr, all_sales prev_yr
+ WHERE curr_yr.i_brand_id=prev_yr.i_brand_id
+ AND curr_yr.i_class_id=prev_yr.i_class_id
+ AND curr_yr.i_category_id=prev_yr.i_category_id
+ AND curr_yr.i_manufact_id=prev_yr.i_manufact_id
+ AND curr_yr.d_year=2001
+ AND prev_yr.d_year=2001-1
+ AND CAST(curr_yr.sales_cnt AS DECIMAL(17,2))/CAST(prev_yr.sales_cnt AS DECIMAL(17,2))<0.9
+ ORDER BY sales_cnt_diff,sales_amt_diff
+ limit 100;
+
+-- end query 1 in stream 0 using template query75.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query76.sql b/src/s3select/TPCDS/sample-queries-tpcds/query76.sql
new file mode 100644
index 000000000..eeb5d287c
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query76.sql
@@ -0,0 +1,24 @@
+-- start query 1 in stream 0 using template query76.tpl and seed 2031708268
+select channel, col_name, d_year, d_qoy, i_category, COUNT(*) sales_cnt, SUM(ext_sales_price) sales_amt FROM (
+ SELECT 'store' as channel, 'ss_customer_sk' col_name, d_year, d_qoy, i_category, ss_ext_sales_price ext_sales_price
+ FROM store_sales, item, date_dim
+ WHERE ss_customer_sk IS NULL
+ AND ss_sold_date_sk=d_date_sk
+ AND ss_item_sk=i_item_sk
+ UNION ALL
+ SELECT 'web' as channel, 'ws_ship_addr_sk' col_name, d_year, d_qoy, i_category, ws_ext_sales_price ext_sales_price
+ FROM web_sales, item, date_dim
+ WHERE ws_ship_addr_sk IS NULL
+ AND ws_sold_date_sk=d_date_sk
+ AND ws_item_sk=i_item_sk
+ UNION ALL
+ SELECT 'catalog' as channel, 'cs_ship_mode_sk' col_name, d_year, d_qoy, i_category, cs_ext_sales_price ext_sales_price
+ FROM catalog_sales, item, date_dim
+ WHERE cs_ship_mode_sk IS NULL
+ AND cs_sold_date_sk=d_date_sk
+ AND cs_item_sk=i_item_sk) foo
+GROUP BY channel, col_name, d_year, d_qoy, i_category
+ORDER BY channel, col_name, d_year, d_qoy, i_category
+limit 100;
+
+-- end query 1 in stream 0 using template query76.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query77.sql b/src/s3select/TPCDS/sample-queries-tpcds/query77.sql
new file mode 100644
index 000000000..9da7766b1
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query77.sql
@@ -0,0 +1,108 @@
+-- start query 1 in stream 0 using template query77.tpl and seed 1819994127
+with ss as
+ (select s_store_sk,
+ sum(ss_ext_sales_price) as sales,
+ sum(ss_net_profit) as profit
+ from store_sales,
+ date_dim,
+ store
+ where ss_sold_date_sk = d_date_sk
+ and d_date between cast('2000-08-16' as date)
+ and (cast('2000-08-16' as date) + interval '30' day)
+ and ss_store_sk = s_store_sk
+ group by s_store_sk)
+ ,
+ sr as
+ (select s_store_sk,
+ sum(sr_return_amt) as returns,
+ sum(sr_net_loss) as profit_loss
+ from store_returns,
+ date_dim,
+ store
+ where sr_returned_date_sk = d_date_sk
+ and d_date between cast('2000-08-16' as date)
+ and (cast('2000-08-16' as date) + interval '30' day)
+ and sr_store_sk = s_store_sk
+ group by s_store_sk),
+ cs as
+ (select cs_call_center_sk,
+ sum(cs_ext_sales_price) as sales,
+ sum(cs_net_profit) as profit
+ from catalog_sales,
+ date_dim
+ where cs_sold_date_sk = d_date_sk
+ and d_date between cast('2000-08-16' as date)
+ and (cast('2000-08-16' as date) + interval '30' day)
+ group by cs_call_center_sk
+ ),
+ cr as
+ (select cr_call_center_sk,
+ sum(cr_return_amount) as returns,
+ sum(cr_net_loss) as profit_loss
+ from catalog_returns,
+ date_dim
+ where cr_returned_date_sk = d_date_sk
+ and d_date between cast('2000-08-16' as date)
+ and (cast('2000-08-16' as date) + interval '30' day)
+ group by cr_call_center_sk
+ ),
+ ws as
+ ( select wp_web_page_sk,
+ sum(ws_ext_sales_price) as sales,
+ sum(ws_net_profit) as profit
+ from web_sales,
+ date_dim,
+ web_page
+ where ws_sold_date_sk = d_date_sk
+ and d_date between cast('2000-08-16' as date)
+ and (cast('2000-08-16' as date) + interval '30' day)
+ and ws_web_page_sk = wp_web_page_sk
+ group by wp_web_page_sk),
+ wr as
+ (select wp_web_page_sk,
+ sum(wr_return_amt) as returns,
+ sum(wr_net_loss) as profit_loss
+ from web_returns,
+ date_dim,
+ web_page
+ where wr_returned_date_sk = d_date_sk
+ and d_date between cast('2000-08-16' as date)
+ and (cast('2000-08-16' as date) + interval '30' day)
+ and wr_web_page_sk = wp_web_page_sk
+ group by wp_web_page_sk)
+ select channel
+ , id
+ , sum(sales) as sales
+ , sum(returns) as returns
+ , sum(profit) as profit
+ from
+ (select 'store channel' as channel
+ , ss.s_store_sk as id
+ , sales
+ , coalesce(returns, 0) as returns
+ , (profit - coalesce(profit_loss,0)) as profit
+ from ss left join sr
+ on ss.s_store_sk = sr.s_store_sk
+ union all
+ select 'catalog channel' as channel
+ , cs_call_center_sk as id
+ , sales
+ , returns
+ , (profit - profit_loss) as profit
+ from cs
+ , cr
+ union all
+ select 'web channel' as channel
+ , ws.wp_web_page_sk as id
+ , sales
+ , coalesce(returns, 0) returns
+ , (profit - coalesce(profit_loss,0)) as profit
+ from ws left join wr
+ on ws.wp_web_page_sk = wr.wp_web_page_sk
+ ) x
+ group by rollup (channel, id)
+ order by channel
+ ,id
+ limit 100;
+
+-- end query 1 in stream 0 using template query77.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query78.sql b/src/s3select/TPCDS/sample-queries-tpcds/query78.sql
new file mode 100644
index 000000000..51edefc50
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query78.sql
@@ -0,0 +1,58 @@
+-- start query 1 in stream 0 using template query78.tpl and seed 1819994127
+with ws as
+ (select d_year AS ws_sold_year, ws_item_sk,
+ ws_bill_customer_sk ws_customer_sk,
+ sum(ws_quantity) ws_qty,
+ sum(ws_wholesale_cost) ws_wc,
+ sum(ws_sales_price) ws_sp
+ from web_sales
+ left join web_returns on wr_order_number=ws_order_number and ws_item_sk=wr_item_sk
+ join date_dim on ws_sold_date_sk = d_date_sk
+ where wr_order_number is null
+ group by d_year, ws_item_sk, ws_bill_customer_sk
+ ),
+cs as
+ (select d_year AS cs_sold_year, cs_item_sk,
+ cs_bill_customer_sk cs_customer_sk,
+ sum(cs_quantity) cs_qty,
+ sum(cs_wholesale_cost) cs_wc,
+ sum(cs_sales_price) cs_sp
+ from catalog_sales
+ left join catalog_returns on cr_order_number=cs_order_number and cs_item_sk=cr_item_sk
+ join date_dim on cs_sold_date_sk = d_date_sk
+ where cr_order_number is null
+ group by d_year, cs_item_sk, cs_bill_customer_sk
+ ),
+ss as
+ (select d_year AS ss_sold_year, ss_item_sk,
+ ss_customer_sk,
+ sum(ss_quantity) ss_qty,
+ sum(ss_wholesale_cost) ss_wc,
+ sum(ss_sales_price) ss_sp
+ from store_sales
+ left join store_returns on sr_ticket_number=ss_ticket_number and ss_item_sk=sr_item_sk
+ join date_dim on ss_sold_date_sk = d_date_sk
+ where sr_ticket_number is null
+ group by d_year, ss_item_sk, ss_customer_sk
+ )
+ select
+ss_customer_sk,
+round(ss_qty/(coalesce(ws_qty,0)+coalesce(cs_qty,0)),2) ratio,
+ss_qty store_qty, ss_wc store_wholesale_cost, ss_sp store_sales_price,
+coalesce(ws_qty,0)+coalesce(cs_qty,0) other_chan_qty,
+coalesce(ws_wc,0)+coalesce(cs_wc,0) other_chan_wholesale_cost,
+coalesce(ws_sp,0)+coalesce(cs_sp,0) other_chan_sales_price
+from ss
+left join ws on (ws_sold_year=ss_sold_year and ws_item_sk=ss_item_sk and ws_customer_sk=ss_customer_sk)
+left join cs on (cs_sold_year=ss_sold_year and cs_item_sk=ss_item_sk and cs_customer_sk=ss_customer_sk)
+where (coalesce(ws_qty,0)>0 or coalesce(cs_qty, 0)>0) and ss_sold_year=2001
+order by
+ ss_customer_sk,
+ ss_qty desc, ss_wc desc, ss_sp desc,
+ other_chan_qty,
+ other_chan_wholesale_cost,
+ other_chan_sales_price,
+ ratio
+limit 100;
+
+-- end query 1 in stream 0 using template query78.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query79.sql b/src/s3select/TPCDS/sample-queries-tpcds/query79.sql
new file mode 100644
index 000000000..72ae60c61
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query79.sql
@@ -0,0 +1,23 @@
+-- start query 1 in stream 0 using template query79.tpl and seed 2031708268
+select
+ c_last_name,c_first_name,substr(s_city,1,30),ss_ticket_number,amt,profit
+ from
+ (select ss_ticket_number
+ ,ss_customer_sk
+ ,store.s_city
+ ,sum(ss_coupon_amt) amt
+ ,sum(ss_net_profit) profit
+ from store_sales,date_dim,store,household_demographics
+ where store_sales.ss_sold_date_sk = date_dim.d_date_sk
+ and store_sales.ss_store_sk = store.s_store_sk
+ and store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk
+ and (household_demographics.hd_dep_count = 0 or household_demographics.hd_vehicle_count > 3)
+ and date_dim.d_dow = 1
+ and date_dim.d_year in (1998,1998+1,1998+2)
+ and store.s_number_employees between 200 and 295
+ group by ss_ticket_number,ss_customer_sk,ss_addr_sk,store.s_city) ms,customer
+ where ss_customer_sk = c_customer_sk
+ order by c_last_name,c_first_name,substr(s_city,1,30), profit
+limit 100;
+
+-- end query 1 in stream 0 using template query79.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query8.sql b/src/s3select/TPCDS/sample-queries-tpcds/query8.sql
new file mode 100644
index 000000000..6faf5d819
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query8.sql
@@ -0,0 +1,108 @@
+-- start query 1 in stream 0 using template query8.tpl and seed 1766988859
+select s_store_name
+ ,sum(ss_net_profit)
+ from store_sales
+ ,date_dim
+ ,store,
+ (select ca_zip
+ from (
+ SELECT substr(ca_zip,1,5) ca_zip
+ FROM customer_address
+ WHERE substr(ca_zip,1,5) IN (
+ '47602','16704','35863','28577','83910','36201',
+ '58412','48162','28055','41419','80332',
+ '38607','77817','24891','16226','18410',
+ '21231','59345','13918','51089','20317',
+ '17167','54585','67881','78366','47770',
+ '18360','51717','73108','14440','21800',
+ '89338','45859','65501','34948','25973',
+ '73219','25333','17291','10374','18829',
+ '60736','82620','41351','52094','19326',
+ '25214','54207','40936','21814','79077',
+ '25178','75742','77454','30621','89193',
+ '27369','41232','48567','83041','71948',
+ '37119','68341','14073','16891','62878',
+ '49130','19833','24286','27700','40979',
+ '50412','81504','94835','84844','71954',
+ '39503','57649','18434','24987','12350',
+ '86379','27413','44529','98569','16515',
+ '27287','24255','21094','16005','56436',
+ '91110','68293','56455','54558','10298',
+ '83647','32754','27052','51766','19444',
+ '13869','45645','94791','57631','20712',
+ '37788','41807','46507','21727','71836',
+ '81070','50632','88086','63991','20244',
+ '31655','51782','29818','63792','68605',
+ '94898','36430','57025','20601','82080',
+ '33869','22728','35834','29086','92645',
+ '98584','98072','11652','78093','57553',
+ '43830','71144','53565','18700','90209',
+ '71256','38353','54364','28571','96560',
+ '57839','56355','50679','45266','84680',
+ '34306','34972','48530','30106','15371',
+ '92380','84247','92292','68852','13338',
+ '34594','82602','70073','98069','85066',
+ '47289','11686','98862','26217','47529',
+ '63294','51793','35926','24227','14196',
+ '24594','32489','99060','49472','43432',
+ '49211','14312','88137','47369','56877',
+ '20534','81755','15794','12318','21060',
+ '73134','41255','63073','81003','73873',
+ '66057','51184','51195','45676','92696',
+ '70450','90669','98338','25264','38919',
+ '59226','58581','60298','17895','19489',
+ '52301','80846','95464','68770','51634',
+ '19988','18367','18421','11618','67975',
+ '25494','41352','95430','15734','62585',
+ '97173','33773','10425','75675','53535',
+ '17879','41967','12197','67998','79658',
+ '59130','72592','14851','43933','68101',
+ '50636','25717','71286','24660','58058',
+ '72991','95042','15543','33122','69280',
+ '11912','59386','27642','65177','17672',
+ '33467','64592','36335','54010','18767',
+ '63193','42361','49254','33113','33159',
+ '36479','59080','11855','81963','31016',
+ '49140','29392','41836','32958','53163',
+ '13844','73146','23952','65148','93498',
+ '14530','46131','58454','13376','13378',
+ '83986','12320','17193','59852','46081',
+ '98533','52389','13086','68843','31013',
+ '13261','60560','13443','45533','83583',
+ '11489','58218','19753','22911','25115',
+ '86709','27156','32669','13123','51933',
+ '39214','41331','66943','14155','69998',
+ '49101','70070','35076','14242','73021',
+ '59494','15782','29752','37914','74686',
+ '83086','34473','15751','81084','49230',
+ '91894','60624','17819','28810','63180',
+ '56224','39459','55233','75752','43639',
+ '55349','86057','62361','50788','31830',
+ '58062','18218','85761','60083','45484',
+ '21204','90229','70041','41162','35390',
+ '16364','39500','68908','26689','52868',
+ '81335','40146','11340','61527','61794',
+ '71997','30415','59004','29450','58117',
+ '69952','33562','83833','27385','61860',
+ '96435','48333','23065','32961','84919',
+ '61997','99132','22815','56600','68730',
+ '48017','95694','32919','88217','27116',
+ '28239','58032','18884','16791','21343',
+ '97462','18569','75660','15475')
+ intersect
+ select ca_zip
+ from (SELECT substr(ca_zip,1,5) ca_zip,count(*) cnt
+ FROM customer_address, customer
+ WHERE ca_address_sk = c_current_addr_sk and
+ c_preferred_cust_flag='Y'
+ group by ca_zip
+ having count(*) > 10)A1)A2) V1
+ where ss_store_sk = s_store_sk
+ and ss_sold_date_sk = d_date_sk
+ and d_qoy = 2 and d_year = 1998
+ and (substr(s_zip,1,2) = substr(V1.ca_zip,1,2))
+ group by s_store_name
+ order by s_store_name
+ limit 100;
+
+-- end query 1 in stream 0 using template query8.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query80.sql b/src/s3select/TPCDS/sample-queries-tpcds/query80.sql
new file mode 100644
index 000000000..4471a8843
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query80.sql
@@ -0,0 +1,96 @@
+-- start query 1 in stream 0 using template query80.tpl and seed 1819994127
+with ssr as
+ (select s_store_id as store_id,
+ sum(ss_ext_sales_price) as sales,
+ sum(coalesce(sr_return_amt, 0)) as returns,
+ sum(ss_net_profit - coalesce(sr_net_loss, 0)) as profit
+ from store_sales left outer join store_returns on
+ (ss_item_sk = sr_item_sk and ss_ticket_number = sr_ticket_number),
+ date_dim,
+ store,
+ item,
+ promotion
+ where ss_sold_date_sk = d_date_sk
+ and d_date between cast('2002-08-06' as date)
+ and (cast('2002-08-06' as date) + interval '30' day)
+ and ss_store_sk = s_store_sk
+ and ss_item_sk = i_item_sk
+ and i_current_price > 50
+ and ss_promo_sk = p_promo_sk
+ and p_channel_tv = 'N'
+ group by s_store_id)
+ ,
+ csr as
+ (select cp_catalog_page_id as catalog_page_id,
+ sum(cs_ext_sales_price) as sales,
+ sum(coalesce(cr_return_amount, 0)) as returns,
+ sum(cs_net_profit - coalesce(cr_net_loss, 0)) as profit
+ from catalog_sales left outer join catalog_returns on
+ (cs_item_sk = cr_item_sk and cs_order_number = cr_order_number),
+ date_dim,
+ catalog_page,
+ item,
+ promotion
+ where cs_sold_date_sk = d_date_sk
+ and d_date between cast('2002-08-06' as date)
+ and (cast('2002-08-06' as date) + interval '30' day)
+ and cs_catalog_page_sk = cp_catalog_page_sk
+ and cs_item_sk = i_item_sk
+ and i_current_price > 50
+ and cs_promo_sk = p_promo_sk
+ and p_channel_tv = 'N'
+group by cp_catalog_page_id)
+ ,
+ wsr as
+ (select web_site_id,
+ sum(ws_ext_sales_price) as sales,
+ sum(coalesce(wr_return_amt, 0)) as returns,
+ sum(ws_net_profit - coalesce(wr_net_loss, 0)) as profit
+ from web_sales left outer join web_returns on
+ (ws_item_sk = wr_item_sk and ws_order_number = wr_order_number),
+ date_dim,
+ web_site,
+ item,
+ promotion
+ where ws_sold_date_sk = d_date_sk
+ and d_date between cast('2002-08-06' as date)
+ and (cast('2002-08-06' as date) + interval '30' day)
+ and ws_web_site_sk = web_site_sk
+ and ws_item_sk = i_item_sk
+ and i_current_price > 50
+ and ws_promo_sk = p_promo_sk
+ and p_channel_tv = 'N'
+group by web_site_id)
+ select channel
+ , id
+ , sum(sales) as sales
+ , sum(returns) as returns
+ , sum(profit) as profit
+ from
+ (select 'store channel' as channel
+ , 'store' || store_id as id
+ , sales
+ , returns
+ , profit
+ from ssr
+ union all
+ select 'catalog channel' as channel
+ , 'catalog_page' || catalog_page_id as id
+ , sales
+ , returns
+ , profit
+ from csr
+ union all
+ select 'web channel' as channel
+ , 'web_site' || web_site_id as id
+ , sales
+ , returns
+ , profit
+ from wsr
+ ) x
+ group by rollup (channel, id)
+ order by channel
+ ,id
+ limit 100;
+
+-- end query 1 in stream 0 using template query80.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query81.sql b/src/s3select/TPCDS/sample-queries-tpcds/query81.sql
new file mode 100644
index 000000000..3483ab7c6
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query81.sql
@@ -0,0 +1,31 @@
+-- start query 1 in stream 0 using template query81.tpl and seed 1819994127
+with customer_total_return as
+ (select cr_returning_customer_sk as ctr_customer_sk
+ ,ca_state as ctr_state,
+ sum(cr_return_amt_inc_tax) as ctr_total_return
+ from catalog_returns
+ ,date_dim
+ ,customer_address
+ where cr_returned_date_sk = d_date_sk
+ and d_year =1998
+ and cr_returning_addr_sk = ca_address_sk
+ group by cr_returning_customer_sk
+ ,ca_state )
+ select c_customer_id,c_salutation,c_first_name,c_last_name,ca_street_number,ca_street_name
+ ,ca_street_type,ca_suite_number,ca_city,ca_county,ca_state,ca_zip,ca_country,ca_gmt_offset
+ ,ca_location_type,ctr_total_return
+ from customer_total_return ctr1
+ ,customer_address
+ ,customer
+ where ctr1.ctr_total_return > (select avg(ctr_total_return)*1.2
+ from customer_total_return ctr2
+ where ctr1.ctr_state = ctr2.ctr_state)
+ and ca_address_sk = c_current_addr_sk
+ and ca_state = 'TX'
+ and ctr1.ctr_customer_sk = c_customer_sk
+ order by c_customer_id,c_salutation,c_first_name,c_last_name,ca_street_number,ca_street_name
+ ,ca_street_type,ca_suite_number,ca_city,ca_county,ca_state,ca_zip,ca_country,ca_gmt_offset
+ ,ca_location_type,ctr_total_return
+ limit 100;
+
+-- end query 1 in stream 0 using template query81.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query82.sql b/src/s3select/TPCDS/sample-queries-tpcds/query82.sql
new file mode 100644
index 000000000..fd89678c8
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query82.sql
@@ -0,0 +1,17 @@
+-- start query 1 in stream 0 using template query82.tpl and seed 55585014
+select i_item_id
+ ,i_item_desc
+ ,i_current_price
+ from item, inventory, date_dim, store_sales
+ where i_current_price between 49 and 49+30
+ and inv_item_sk = i_item_sk
+ and d_date_sk=inv_date_sk
+ and d_date between cast('2001-01-28' as date) and (cast('2001-01-28' as date) + interval '60' day)
+ and i_manufact_id in (80,675,292,17)
+ and inv_quantity_on_hand between 100 and 500
+ and ss_item_sk = i_item_sk
+ group by i_item_id,i_item_desc,i_current_price
+ order by i_item_id
+ limit 100;
+
+-- end query 1 in stream 0 using template query82.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query83.sql b/src/s3select/TPCDS/sample-queries-tpcds/query83.sql
new file mode 100644
index 000000000..d7bd1adec
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query83.sql
@@ -0,0 +1,67 @@
+-- start query 1 in stream 0 using template query83.tpl and seed 1930872976
+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 (cast('2000-06-17' as date),cast('2000-08-22' as date),cast('2000-11-17' as date))))
+ 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 (cast('2000-06-17' as date),cast('2000-08-22' as date),cast('2000-11-17' as date))))
+ 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 (cast('2000-06-17' as date),cast('2000-08-22' as date),cast('2000-11-17' as date))))
+ and wr_returned_date_sk = d_date_sk
+ group by i_item_id)
+ select sr_items.item_id
+ ,sr_item_qty
+ ,sr_item_qty/(sr_item_qty+cr_item_qty+wr_item_qty)/3.0 * 100 sr_dev
+ ,cr_item_qty
+ ,cr_item_qty/(sr_item_qty+cr_item_qty+wr_item_qty)/3.0 * 100 cr_dev
+ ,wr_item_qty
+ ,wr_item_qty/(sr_item_qty+cr_item_qty+wr_item_qty)/3.0 * 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;
+
+-- end query 1 in stream 0 using template query83.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query84.sql b/src/s3select/TPCDS/sample-queries-tpcds/query84.sql
new file mode 100644
index 000000000..ba83c5a18
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query84.sql
@@ -0,0 +1,21 @@
+-- start query 1 in stream 0 using template query84.tpl and seed 1819994127
+select c_customer_id as customer_id
+ , coalesce(c_last_name,'') || ', ' || coalesce(c_first_name,'') as customername
+ from customer
+ ,customer_address
+ ,customer_demographics
+ ,household_demographics
+ ,income_band
+ ,store_returns
+ where ca_city = 'Hopewell'
+ and c_current_addr_sk = ca_address_sk
+ and ib_lower_bound >= 37855
+ and ib_upper_bound <= 37855 + 50000
+ and ib_income_band_sk = hd_income_band_sk
+ and cd_demo_sk = c_current_cdemo_sk
+ and hd_demo_sk = c_current_hdemo_sk
+ and sr_cdemo_sk = cd_demo_sk
+ order by c_customer_id
+ limit 100;
+
+-- end query 1 in stream 0 using template query84.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query85.sql b/src/s3select/TPCDS/sample-queries-tpcds/query85.sql
new file mode 100644
index 000000000..dc7932a90
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query85.sql
@@ -0,0 +1,84 @@
+-- start query 1 in stream 0 using template query85.tpl and seed 622697896
+select substr(r_reason_desc,1,20)
+ ,avg(ws_quantity)
+ ,avg(wr_refunded_cash)
+ ,avg(wr_fee)
+ from web_sales, web_returns, web_page, customer_demographics cd1,
+ customer_demographics cd2, customer_address, date_dim, reason
+ where ws_web_page_sk = wp_web_page_sk
+ and ws_item_sk = wr_item_sk
+ and ws_order_number = wr_order_number
+ and ws_sold_date_sk = d_date_sk and d_year = 2001
+ and cd1.cd_demo_sk = wr_refunded_cdemo_sk
+ and cd2.cd_demo_sk = wr_returning_cdemo_sk
+ and ca_address_sk = wr_refunded_addr_sk
+ and r_reason_sk = wr_reason_sk
+ and
+ (
+ (
+ cd1.cd_marital_status = 'M'
+ and
+ cd1.cd_marital_status = cd2.cd_marital_status
+ and
+ cd1.cd_education_status = '4 yr Degree'
+ and
+ cd1.cd_education_status = cd2.cd_education_status
+ and
+ ws_sales_price between 100.00 and 150.00
+ )
+ or
+ (
+ cd1.cd_marital_status = 'S'
+ and
+ cd1.cd_marital_status = cd2.cd_marital_status
+ and
+ cd1.cd_education_status = 'College'
+ and
+ cd1.cd_education_status = cd2.cd_education_status
+ and
+ ws_sales_price between 50.00 and 100.00
+ )
+ or
+ (
+ cd1.cd_marital_status = 'D'
+ and
+ cd1.cd_marital_status = cd2.cd_marital_status
+ and
+ cd1.cd_education_status = 'Secondary'
+ and
+ cd1.cd_education_status = cd2.cd_education_status
+ and
+ ws_sales_price between 150.00 and 200.00
+ )
+ )
+ and
+ (
+ (
+ ca_country = 'United States'
+ and
+ ca_state in ('TX', 'VA', 'CA')
+ and ws_net_profit between 100 and 200
+ )
+ or
+ (
+ ca_country = 'United States'
+ and
+ ca_state in ('AR', 'NE', 'MO')
+ and ws_net_profit between 150 and 300
+ )
+ or
+ (
+ ca_country = 'United States'
+ and
+ ca_state in ('IA', 'MS', 'WA')
+ and ws_net_profit between 50 and 250
+ )
+ )
+group by r_reason_desc
+order by substr(r_reason_desc,1,20)
+ ,avg(ws_quantity)
+ ,avg(wr_refunded_cash)
+ ,avg(wr_fee)
+limit 100;
+
+-- end query 1 in stream 0 using template query85.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query86.sql b/src/s3select/TPCDS/sample-queries-tpcds/query86.sql
new file mode 100644
index 000000000..9b65cbda8
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query86.sql
@@ -0,0 +1,26 @@
+-- start query 1 in stream 0 using template query86.tpl and seed 1819994127
+select
+ sum(ws_net_paid) as total_sum
+ ,i_category
+ ,i_class
+ ,grouping(i_category)+grouping(i_class) as lochierarchy
+ ,rank() over (
+ partition by grouping(i_category)+grouping(i_class),
+ case when grouping(i_class) = 0 then i_category end
+ order by sum(ws_net_paid) desc) as rank_within_parent
+ from
+ web_sales
+ ,date_dim d1
+ ,item
+ where
+ d1.d_month_seq between 1215 and 1215+11
+ and d1.d_date_sk = ws_sold_date_sk
+ and i_item_sk = ws_item_sk
+ group by rollup(i_category,i_class)
+ order by
+ lochierarchy desc,
+ case when lochierarchy = 0 then i_category end,
+ rank_within_parent
+ limit 100;
+
+-- end query 1 in stream 0 using template query86.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query87.sql b/src/s3select/TPCDS/sample-queries-tpcds/query87.sql
new file mode 100644
index 000000000..161e46443
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query87.sql
@@ -0,0 +1,23 @@
+-- start query 1 in stream 0 using template query87.tpl and seed 1819994127
+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 1221 and 1221+11)
+ except
+ (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 1221 and 1221+11)
+ except
+ (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 1221 and 1221+11)
+) cool_cust
+;
+
+-- end query 1 in stream 0 using template query87.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query88.sql b/src/s3select/TPCDS/sample-queries-tpcds/query88.sql
new file mode 100644
index 000000000..895fff5b7
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query88.sql
@@ -0,0 +1,94 @@
+-- start query 1 in stream 0 using template query88.tpl and seed 318176889
+select *
+from
+ (select count(*) h8_30_to_9
+ from store_sales, household_demographics , time_dim, store
+ where ss_sold_time_sk = time_dim.t_time_sk
+ and ss_hdemo_sk = household_demographics.hd_demo_sk
+ and ss_store_sk = s_store_sk
+ and time_dim.t_hour = 8
+ and time_dim.t_minute >= 30
+ and ((household_demographics.hd_dep_count = 2 and household_demographics.hd_vehicle_count<=2+2) or
+ (household_demographics.hd_dep_count = 4 and household_demographics.hd_vehicle_count<=4+2) or
+ (household_demographics.hd_dep_count = 3 and household_demographics.hd_vehicle_count<=3+2))
+ and store.s_store_name = 'ese') s1,
+ (select count(*) h9_to_9_30
+ from store_sales, household_demographics , time_dim, store
+ where ss_sold_time_sk = time_dim.t_time_sk
+ and ss_hdemo_sk = household_demographics.hd_demo_sk
+ and ss_store_sk = s_store_sk
+ and time_dim.t_hour = 9
+ and time_dim.t_minute < 30
+ and ((household_demographics.hd_dep_count = 2 and household_demographics.hd_vehicle_count<=2+2) or
+ (household_demographics.hd_dep_count = 4 and household_demographics.hd_vehicle_count<=4+2) or
+ (household_demographics.hd_dep_count = 3 and household_demographics.hd_vehicle_count<=3+2))
+ and store.s_store_name = 'ese') s2,
+ (select count(*) h9_30_to_10
+ from store_sales, household_demographics , time_dim, store
+ where ss_sold_time_sk = time_dim.t_time_sk
+ and ss_hdemo_sk = household_demographics.hd_demo_sk
+ and ss_store_sk = s_store_sk
+ and time_dim.t_hour = 9
+ and time_dim.t_minute >= 30
+ and ((household_demographics.hd_dep_count = 2 and household_demographics.hd_vehicle_count<=2+2) or
+ (household_demographics.hd_dep_count = 4 and household_demographics.hd_vehicle_count<=4+2) or
+ (household_demographics.hd_dep_count = 3 and household_demographics.hd_vehicle_count<=3+2))
+ and store.s_store_name = 'ese') s3,
+ (select count(*) h10_to_10_30
+ from store_sales, household_demographics , time_dim, store
+ where ss_sold_time_sk = time_dim.t_time_sk
+ and ss_hdemo_sk = household_demographics.hd_demo_sk
+ and ss_store_sk = s_store_sk
+ and time_dim.t_hour = 10
+ and time_dim.t_minute < 30
+ and ((household_demographics.hd_dep_count = 2 and household_demographics.hd_vehicle_count<=2+2) or
+ (household_demographics.hd_dep_count = 4 and household_demographics.hd_vehicle_count<=4+2) or
+ (household_demographics.hd_dep_count = 3 and household_demographics.hd_vehicle_count<=3+2))
+ and store.s_store_name = 'ese') s4,
+ (select count(*) h10_30_to_11
+ from store_sales, household_demographics , time_dim, store
+ where ss_sold_time_sk = time_dim.t_time_sk
+ and ss_hdemo_sk = household_demographics.hd_demo_sk
+ and ss_store_sk = s_store_sk
+ and time_dim.t_hour = 10
+ and time_dim.t_minute >= 30
+ and ((household_demographics.hd_dep_count = 2 and household_demographics.hd_vehicle_count<=2+2) or
+ (household_demographics.hd_dep_count = 4 and household_demographics.hd_vehicle_count<=4+2) or
+ (household_demographics.hd_dep_count = 3 and household_demographics.hd_vehicle_count<=3+2))
+ and store.s_store_name = 'ese') s5,
+ (select count(*) h11_to_11_30
+ from store_sales, household_demographics , time_dim, store
+ where ss_sold_time_sk = time_dim.t_time_sk
+ and ss_hdemo_sk = household_demographics.hd_demo_sk
+ and ss_store_sk = s_store_sk
+ and time_dim.t_hour = 11
+ and time_dim.t_minute < 30
+ and ((household_demographics.hd_dep_count = 2 and household_demographics.hd_vehicle_count<=2+2) or
+ (household_demographics.hd_dep_count = 4 and household_demographics.hd_vehicle_count<=4+2) or
+ (household_demographics.hd_dep_count = 3 and household_demographics.hd_vehicle_count<=3+2))
+ and store.s_store_name = 'ese') s6,
+ (select count(*) h11_30_to_12
+ from store_sales, household_demographics , time_dim, store
+ where ss_sold_time_sk = time_dim.t_time_sk
+ and ss_hdemo_sk = household_demographics.hd_demo_sk
+ and ss_store_sk = s_store_sk
+ and time_dim.t_hour = 11
+ and time_dim.t_minute >= 30
+ and ((household_demographics.hd_dep_count = 2 and household_demographics.hd_vehicle_count<=2+2) or
+ (household_demographics.hd_dep_count = 4 and household_demographics.hd_vehicle_count<=4+2) or
+ (household_demographics.hd_dep_count = 3 and household_demographics.hd_vehicle_count<=3+2))
+ and store.s_store_name = 'ese') s7,
+ (select count(*) h12_to_12_30
+ from store_sales, household_demographics , time_dim, store
+ where ss_sold_time_sk = time_dim.t_time_sk
+ and ss_hdemo_sk = household_demographics.hd_demo_sk
+ and ss_store_sk = s_store_sk
+ and time_dim.t_hour = 12
+ and time_dim.t_minute < 30
+ and ((household_demographics.hd_dep_count = 2 and household_demographics.hd_vehicle_count<=2+2) or
+ (household_demographics.hd_dep_count = 4 and household_demographics.hd_vehicle_count<=4+2) or
+ (household_demographics.hd_dep_count = 3 and household_demographics.hd_vehicle_count<=3+2))
+ and store.s_store_name = 'ese') s8
+;
+
+-- end query 1 in stream 0 using template query88.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query89.sql b/src/s3select/TPCDS/sample-queries-tpcds/query89.sql
new file mode 100644
index 000000000..3a275d4e0
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query89.sql
@@ -0,0 +1,28 @@
+-- start query 1 in stream 0 using template query89.tpl and seed 1719819282
+select *
+from(
+select i_category, i_class, i_brand,
+ s_store_name, s_company_name,
+ d_moy,
+ sum(ss_sales_price) sum_sales,
+ avg(sum(ss_sales_price)) over
+ (partition by i_category, i_brand, s_store_name, s_company_name)
+ avg_monthly_sales
+from item, store_sales, date_dim, store
+where ss_item_sk = i_item_sk and
+ ss_sold_date_sk = d_date_sk and
+ ss_store_sk = s_store_sk and
+ d_year in (2000) and
+ ((i_category in ('Home','Music','Books') and
+ i_class in ('glassware','classical','fiction')
+ )
+ or (i_category in ('Jewelry','Sports','Women') and
+ i_class in ('semi-precious','baseball','dresses')
+ ))
+group by i_category, i_class, i_brand,
+ s_store_name, s_company_name, d_moy) tmp1
+where case when (avg_monthly_sales <> 0) then (abs(sum_sales - avg_monthly_sales) / avg_monthly_sales) else null end > 0.1
+order by sum_sales - avg_monthly_sales, s_store_name
+limit 100;
+
+-- end query 1 in stream 0 using template query89.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query9.sql b/src/s3select/TPCDS/sample-queries-tpcds/query9.sql
new file mode 100644
index 000000000..059b9c5fb
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query9.sql
@@ -0,0 +1,51 @@
+-- start query 1 in stream 0 using template query9.tpl and seed 1490436826
+select case when (select count(*)
+ from store_sales
+ where ss_quantity between 1 and 20) > 98972190
+ then (select avg(ss_ext_discount_amt)
+ from store_sales
+ where ss_quantity between 1 and 20)
+ else (select avg(ss_net_profit)
+ from store_sales
+ where ss_quantity between 1 and 20) end bucket1 ,
+ case when (select count(*)
+ from store_sales
+ where ss_quantity between 21 and 40) > 160856845
+ then (select avg(ss_ext_discount_amt)
+ from store_sales
+ where ss_quantity between 21 and 40)
+ else (select avg(ss_net_profit)
+ from store_sales
+ where ss_quantity between 21 and 40) end bucket2,
+ case when (select count(*)
+ from store_sales
+ where ss_quantity between 41 and 60) > 12733327
+ then (select avg(ss_ext_discount_amt)
+ from store_sales
+ where ss_quantity between 41 and 60)
+ else (select avg(ss_net_profit)
+ from store_sales
+ where ss_quantity between 41 and 60) end bucket3,
+ case when (select count(*)
+ from store_sales
+ where ss_quantity between 61 and 80) > 96251173
+ then (select avg(ss_ext_discount_amt)
+ from store_sales
+ where ss_quantity between 61 and 80)
+ else (select avg(ss_net_profit)
+ from store_sales
+ where ss_quantity between 61 and 80) end bucket4,
+ case when (select count(*)
+ from store_sales
+ where ss_quantity between 81 and 100) > 80049606
+ then (select avg(ss_ext_discount_amt)
+ from store_sales
+ where ss_quantity between 81 and 100)
+ else (select avg(ss_net_profit)
+ from store_sales
+ where ss_quantity between 81 and 100) end bucket5
+from reason
+where r_reason_sk = 1
+;
+
+-- end query 1 in stream 0 using template query9.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query90.sql b/src/s3select/TPCDS/sample-queries-tpcds/query90.sql
new file mode 100644
index 000000000..366f07068
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query90.sql
@@ -0,0 +1,22 @@
+-- start query 1 in stream 0 using template query90.tpl and seed 2031708268
+select cast(amc as decimal(15,4))/cast(pmc as decimal(15,4)) am_pm_ratio
+ from ( select count(*) amc
+ from web_sales, household_demographics , time_dim, web_page
+ where ws_sold_time_sk = time_dim.t_time_sk
+ and ws_ship_hdemo_sk = household_demographics.hd_demo_sk
+ and ws_web_page_sk = web_page.wp_web_page_sk
+ and time_dim.t_hour between 9 and 9+1
+ and household_demographics.hd_dep_count = 3
+ and web_page.wp_char_count between 5000 and 5200) at,
+ ( select count(*) pmc
+ from web_sales, household_demographics , time_dim, web_page
+ where ws_sold_time_sk = time_dim.t_time_sk
+ and ws_ship_hdemo_sk = household_demographics.hd_demo_sk
+ and ws_web_page_sk = web_page.wp_web_page_sk
+ and time_dim.t_hour between 16 and 16+1
+ and household_demographics.hd_dep_count = 3
+ and web_page.wp_char_count between 5000 and 5200) pt
+ order by am_pm_ratio
+ limit 100;
+
+-- end query 1 in stream 0 using template query90.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query91.sql b/src/s3select/TPCDS/sample-queries-tpcds/query91.sql
new file mode 100644
index 000000000..057c76ba8
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query91.sql
@@ -0,0 +1,31 @@
+-- start query 1 in stream 0 using template query91.tpl and seed 1930872976
+select
+ cc_call_center_id Call_Center,
+ cc_name Call_Center_Name,
+ cc_manager Manager,
+ sum(cr_net_loss) Returns_Loss
+from
+ call_center,
+ catalog_returns,
+ date_dim,
+ customer,
+ customer_address,
+ customer_demographics,
+ household_demographics
+where
+ cr_call_center_sk = cc_call_center_sk
+and cr_returned_date_sk = d_date_sk
+and cr_returning_customer_sk= c_customer_sk
+and cd_demo_sk = c_current_cdemo_sk
+and hd_demo_sk = c_current_hdemo_sk
+and ca_address_sk = c_current_addr_sk
+and d_year = 2000
+and d_moy = 12
+and ( (cd_marital_status = 'M' and cd_education_status = 'Unknown')
+ or(cd_marital_status = 'W' and cd_education_status = 'Advanced Degree'))
+and hd_buy_potential like 'Unknown%'
+and ca_gmt_offset = -7
+group by cc_call_center_id,cc_name,cc_manager,cd_marital_status,cd_education_status
+order by sum(cr_net_loss) desc;
+
+-- end query 1 in stream 0 using template query91.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query92.sql b/src/s3select/TPCDS/sample-queries-tpcds/query92.sql
new file mode 100644
index 000000000..547599f4c
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query92.sql
@@ -0,0 +1,30 @@
+-- start query 1 in stream 0 using template query92.tpl and seed 2031708268
+select
+ sum(ws_ext_discount_amt) as "Excess Discount Amount"
+from
+ web_sales
+ ,item
+ ,date_dim
+where
+i_manufact_id = 356
+and i_item_sk = ws_item_sk
+and d_date between cast('2001-03-12' as date) and
+ (cast('2001-03-12' as date) + interval '90' day)
+and d_date_sk = ws_sold_date_sk
+and ws_ext_discount_amt
+ > (
+ SELECT
+ 1.3 * avg(ws_ext_discount_amt)
+ FROM
+ web_sales
+ ,date_dim
+ WHERE
+ ws_item_sk = i_item_sk
+ and d_date between cast('2001-03-12' as date) and
+ (cast('2001-03-12' as date) + interval '90' day)
+ and d_date_sk = ws_sold_date_sk
+ )
+order by sum(ws_ext_discount_amt)
+limit 100;
+
+-- end query 1 in stream 0 using template query92.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query93.sql b/src/s3select/TPCDS/sample-queries-tpcds/query93.sql
new file mode 100644
index 000000000..ed0b427df
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query93.sql
@@ -0,0 +1,18 @@
+-- start query 1 in stream 0 using template query93.tpl and seed 1200409435
+select ss_customer_sk
+ ,sum(act_sales) sumsales
+ from (select ss_item_sk
+ ,ss_ticket_number
+ ,ss_customer_sk
+ ,case when sr_return_quantity is not null then (ss_quantity-sr_return_quantity)*ss_sales_price
+ else (ss_quantity*ss_sales_price) end act_sales
+ from store_sales left outer join store_returns on (sr_item_sk = ss_item_sk
+ and sr_ticket_number = ss_ticket_number)
+ ,reason
+ where sr_reason_sk = r_reason_sk
+ and r_reason_desc = 'reason 66') t
+ group by ss_customer_sk
+ order by sumsales, ss_customer_sk
+limit 100;
+
+-- end query 1 in stream 0 using template query93.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query94.sql b/src/s3select/TPCDS/sample-queries-tpcds/query94.sql
new file mode 100644
index 000000000..909281da0
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query94.sql
@@ -0,0 +1,29 @@
+-- start query 1 in stream 0 using template query94.tpl and seed 2031708268
+select
+ count(distinct ws_order_number) as "order count"
+ ,sum(ws_ext_ship_cost) as "total shipping cost"
+ ,sum(ws_net_profit) as "total net profit"
+from
+ web_sales ws1
+ ,date_dim
+ ,customer_address
+ ,web_site
+where
+ d_date between cast('1999-4-01' as date) and
+ (cast('1999-4-01' as date) + interval '60' day)
+and ws1.ws_ship_date_sk = d_date_sk
+and ws1.ws_ship_addr_sk = ca_address_sk
+and ca_state = 'NE'
+and ws1.ws_web_site_sk = web_site_sk
+and web_company_name = 'pri'
+and exists (select *
+ from web_sales ws2
+ where ws1.ws_order_number = ws2.ws_order_number
+ and ws1.ws_warehouse_sk <> ws2.ws_warehouse_sk)
+and not exists(select *
+ from web_returns wr1
+ where ws1.ws_order_number = wr1.wr_order_number)
+order by count(distinct ws_order_number)
+limit 100;
+
+-- end query 1 in stream 0 using template query94.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query95.sql b/src/s3select/TPCDS/sample-queries-tpcds/query95.sql
new file mode 100644
index 000000000..e7320342c
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query95.sql
@@ -0,0 +1,32 @@
+-- start query 1 in stream 0 using template query95.tpl and seed 2031708268
+with ws_wh as
+(select ws1.ws_order_number,ws1.ws_warehouse_sk wh1,ws2.ws_warehouse_sk wh2
+ from web_sales ws1,web_sales ws2
+ where ws1.ws_order_number = ws2.ws_order_number
+ and ws1.ws_warehouse_sk <> ws2.ws_warehouse_sk)
+ select
+ count(distinct ws_order_number) as "order count"
+ ,sum(ws_ext_ship_cost) as "total shipping cost"
+ ,sum(ws_net_profit) as "total net profit"
+from
+ web_sales ws1
+ ,date_dim
+ ,customer_address
+ ,web_site
+where
+ d_date between cast('2002-4-01' as date) and
+ (cast('2002-4-01' as date) + interval '60' day)
+and ws1.ws_ship_date_sk = d_date_sk
+and ws1.ws_ship_addr_sk = ca_address_sk
+and ca_state = 'AL'
+and ws1.ws_web_site_sk = web_site_sk
+and web_company_name = 'pri'
+and ws1.ws_order_number in (select ws_order_number
+ from ws_wh)
+and ws1.ws_order_number in (select wr_order_number
+ from web_returns,ws_wh
+ where wr_order_number = ws_wh.ws_order_number)
+order by count(distinct ws_order_number)
+limit 100;
+
+-- end query 1 in stream 0 using template query95.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query96.sql b/src/s3select/TPCDS/sample-queries-tpcds/query96.sql
new file mode 100644
index 000000000..90be5df59
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query96.sql
@@ -0,0 +1,16 @@
+-- start query 1 in stream 0 using template query96.tpl and seed 1819994127
+select count(*)
+from store_sales
+ ,household_demographics
+ ,time_dim, store
+where ss_sold_time_sk = time_dim.t_time_sk
+ and ss_hdemo_sk = household_demographics.hd_demo_sk
+ and ss_store_sk = s_store_sk
+ and time_dim.t_hour = 16
+ and time_dim.t_minute >= 30
+ and household_demographics.hd_dep_count = 6
+ and store.s_store_name = 'ese'
+order by count(*)
+limit 100;
+
+-- end query 1 in stream 0 using template query96.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query97.sql b/src/s3select/TPCDS/sample-queries-tpcds/query97.sql
new file mode 100644
index 000000000..a063214cf
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query97.sql
@@ -0,0 +1,25 @@
+-- start query 1 in stream 0 using template query97.tpl and seed 1819994127
+with ssci as (
+select ss_customer_sk customer_sk
+ ,ss_item_sk item_sk
+from store_sales,date_dim
+where ss_sold_date_sk = d_date_sk
+ and d_month_seq between 1190 and 1190 + 11
+group by ss_customer_sk
+ ,ss_item_sk),
+csci as(
+ select cs_bill_customer_sk customer_sk
+ ,cs_item_sk item_sk
+from catalog_sales,date_dim
+where cs_sold_date_sk = d_date_sk
+ and d_month_seq between 1190 and 1190 + 11
+group by cs_bill_customer_sk
+ ,cs_item_sk)
+ select sum(case when ssci.customer_sk is not null and csci.customer_sk is null then 1 else 0 end) store_only
+ ,sum(case when ssci.customer_sk is null and csci.customer_sk is not null then 1 else 0 end) catalog_only
+ ,sum(case when ssci.customer_sk is not null and csci.customer_sk is not null then 1 else 0 end) store_and_catalog
+from ssci full outer join csci on (ssci.customer_sk=csci.customer_sk
+ and ssci.item_sk = csci.item_sk)
+limit 100;
+
+-- end query 1 in stream 0 using template query97.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query98.sql b/src/s3select/TPCDS/sample-queries-tpcds/query98.sql
new file mode 100644
index 000000000..ef405583b
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query98.sql
@@ -0,0 +1,33 @@
+-- start query 1 in stream 0 using template query98.tpl and seed 345591136
+select i_item_id
+ ,i_item_desc
+ ,i_category
+ ,i_class
+ ,i_current_price
+ ,sum(ss_ext_sales_price) as itemrevenue
+ ,sum(ss_ext_sales_price)*100/sum(sum(ss_ext_sales_price)) over
+ (partition by i_class) as revenueratio
+from
+ store_sales
+ ,item
+ ,date_dim
+where
+ ss_item_sk = i_item_sk
+ and i_category in ('Home', 'Sports', 'Men')
+ and ss_sold_date_sk = d_date_sk
+ and d_date between cast('2002-01-05' as date)
+ and (cast('2002-01-05' as date) + interval '30' day)
+group by
+ i_item_id
+ ,i_item_desc
+ ,i_category
+ ,i_class
+ ,i_current_price
+order by
+ i_category
+ ,i_class
+ ,i_item_id
+ ,i_item_desc
+ ,revenueratio;
+
+-- end query 1 in stream 0 using template query98.tpl
diff --git a/src/s3select/TPCDS/sample-queries-tpcds/query99.sql b/src/s3select/TPCDS/sample-queries-tpcds/query99.sql
new file mode 100644
index 000000000..d6dfb4ff1
--- /dev/null
+++ b/src/s3select/TPCDS/sample-queries-tpcds/query99.sql
@@ -0,0 +1,35 @@
+-- start query 1 in stream 0 using template query99.tpl and seed 1819994127
+select
+ substr(w_warehouse_name,1,20)
+ ,sm_type
+ ,cc_name
+ ,sum(case when (cs_ship_date_sk - cs_sold_date_sk <= 30 ) then 1 else 0 end) as "30 days"
+ ,sum(case when (cs_ship_date_sk - cs_sold_date_sk > 30) and
+ (cs_ship_date_sk - cs_sold_date_sk <= 60) then 1 else 0 end ) as "31-60 days"
+ ,sum(case when (cs_ship_date_sk - cs_sold_date_sk > 60) and
+ (cs_ship_date_sk - cs_sold_date_sk <= 90) then 1 else 0 end) as "61-90 days"
+ ,sum(case when (cs_ship_date_sk - cs_sold_date_sk > 90) and
+ (cs_ship_date_sk - cs_sold_date_sk <= 120) then 1 else 0 end) as "91-120 days"
+ ,sum(case when (cs_ship_date_sk - cs_sold_date_sk > 120) then 1 else 0 end) as ">120 days"
+from
+ catalog_sales
+ ,warehouse
+ ,ship_mode
+ ,call_center
+ ,date_dim
+where
+ d_month_seq between 1178 and 1178 + 11
+and cs_ship_date_sk = d_date_sk
+and cs_warehouse_sk = w_warehouse_sk
+and cs_ship_mode_sk = sm_ship_mode_sk
+and cs_call_center_sk = cc_call_center_sk
+group by
+ substr(w_warehouse_name,1,20)
+ ,sm_type
+ ,cc_name
+order by substr(w_warehouse_name,1,20)
+ ,sm_type
+ ,cc_name
+limit 100;
+
+-- end query 1 in stream 0 using template query99.tpl
diff --git a/src/s3select/TPCDS/tpcds_functions.bash b/src/s3select/TPCDS/tpcds_functions.bash
new file mode 100644
index 000000000..67a64ff0b
--- /dev/null
+++ b/src/s3select/TPCDS/tpcds_functions.bash
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+run_tpcds()
+{
+## END_POINT_IP=172.21.48.86 // RGW end point ip (local or remote)
+## SCALE (2-1000) the bigger the SCALE, the longer it takes, and also thee more space is taken.
+## the `sleep 20` is for the HADOOP. it needs some wait time, otherwise it may get into "safe mode" and will abort execution
+
+## the following command executed within a dedicated container, it will connect the HADOOP to a running RGW, it will boot HADOOP, and will run the TPCDS data-set generator.
+## the results reside on CEPH object storage.
+sudo docker run --name tpcds_generate --rm --env SCALE=2 --env END_POINT_IP=172.21.48.86 -it galsl/hadoop:presto_hive_conn sh -c \
+'/work/generate_key.bash;
+. /etc/bashrc;
+deploy_ceph_s3a_ip $END_POINT_IP;
+start_hadoop;
+sleep 20;
+start_tpcds;'
+
+}
+
+move_from_tpcds_bucket_to_hive_bucket()
+{
+## for the case it needs to move into different bucket(where trino is point at)
+## its is also possible to chage the `create table ... external_location = ...` statements
+
+aws s3 sync s3://tpcds2 s3://hive
+}
+
+trino_load_all_tpcds_tables_into_external()
+{
+## running create_tpcds_tables.sql, the "create_tpcds_tables.sql" should reside in trino container
+sudo docker exec -it trino /bin/bash -c 'time trino --catalog hive --schema cephs3 -f create_tpcds_tables.sql'
+}
+
+trino_show_tables()
+{
+## running any SQL statement in Trino client.
+sudo docker exec -it trino /bin/bash -c 'trino --catalog hive --schema cephs3 --execute "show tables;";'
+}
+