diff --git a/benchmarks/tpc-ds/ds_refresh.json b/benchmarks/tpc-ds/ds_refresh.json new file mode 100644 index 00000000..904bf446 --- /dev/null +++ b/benchmarks/tpc-ds/ds_refresh.json @@ -0,0 +1,26 @@ +{ + "description": "Sequentially run the first refresh run for tpc-ds and then verify the results.", + "query_files": [ + "queries/refresh/LF_CR.sql", + "queries/refresh/LF_CS.sql", + "queries/refresh/LF_SR.sql", + "queries/refresh/LF_SS.sql", + "queries/refresh/LF_WR.sql", + "queries/refresh/LF_WS.sql", + "queries/refresh/LF_I.sql", + "queries/refresh/verify_LF_CR_query_01.sql", + "queries/refresh/verify_LF_CR_query_02.sql", + "queries/refresh/verify_LF_CS_query_03.sql", + "queries/refresh/verify_LF_CS_query_04.sql", + "queries/refresh/verify_LF_SR_query_05.sql", + "queries/refresh/verify_LF_SR_query_06.sql", + "queries/refresh/verify_LF_SS_query_07.sql", + "queries/refresh/verify_LF_SS_query_08.sql", + "queries/refresh/verify_LF_WR_query_09.sql", + "queries/refresh/verify_LF_WR_query_10.sql", + "queries/refresh/verify_LF_WS_query_11.sql", + "queries/refresh/verify_LF_WS_query_12.sql", + "queries/refresh/verify_LF_I_query_13.sql", + "queries/refresh/verify_LF_I_query_14.sql" + ] +} diff --git a/benchmarks/tpc-ds/queries/refresh/LF_CR.sql b/benchmarks/tpc-ds/queries/refresh/LF_CR.sql new file mode 100644 index 00000000..5a3c062b --- /dev/null +++ b/benchmarks/tpc-ds/queries/refresh/LF_CR.sql @@ -0,0 +1,94 @@ +DROP VIEW IF EXISTS crv; + +CREATE VIEW crv +AS +SELECT d_date_sk cr_return_date_sk, + t_time_sk cr_return_time_sk, + i_item_sk cr_item_sk, + c1.c_customer_sk cr_refunded_customer_sk, + c1.c_current_cdemo_sk cr_refunded_cdemo_sk, + c1.c_current_hdemo_sk cr_refunded_hdemo_sk, + c1.c_current_addr_sk cr_refunded_addr_sk, + c2.c_customer_sk cr_returning_customer_sk, + c2.c_current_cdemo_sk cr_returning_cdemo_sk, + c2.c_current_hdemo_sk cr_returning_hdemo_sk, + c2.c_current_addr_sk cr_returning_addr_sk, + cc_call_center_sk cr_call_center_sk, + cp_catalog_page_sk CR_CATALOG_PAGE_SK, + sm_ship_mode_sk CR_SHIP_MODE_SK, + w_warehouse_sk CR_WAREHOUSE_SK, + r_reason_sk cr_reason_sk, + cret_order_id cr_order_number, + cret_return_qty cr_return_quantity, + cret_return_amt cr_return_amount, + cret_return_tax cr_return_tax, + cret_return_amt + cret_return_tax AS cr_return_amt_inc_tax, + cret_return_fee cr_fee, + cret_return_ship_cost cr_return_ship_cost, + cret_refunded_cash cr_refunded_cash, + cret_reversed_charge cr_reversed_charge, + cret_merchant_credit cr_merchant_credit, + cret_return_amt + cret_return_tax + cret_return_fee - cret_refunded_cash-cret_reversed_charge-cret_merchant_credit + cr_net_loss +FROM s_catalog_returns_1 + LEFT OUTER JOIN date_dim + ON ( CAST(cret_return_date AS DATE) = d_date ) + LEFT OUTER JOIN time_dim + ON ( ( CAST(Substr(cret_return_time, 1, 2) AS INTEGER) * + 3600 + + CAST(Substr(cret_return_time, 4 + , + 2) AS + INTEGER) * 60 + + CAST(Substr(cret_return_time, 7, + 2) + AS + INTEGER) ) = t_time ) + LEFT OUTER JOIN item + ON ( cret_item_id = i_item_id ) + LEFT OUTER JOIN customer c1 + ON ( cret_return_customer_id = c1.c_customer_id ) + LEFT OUTER JOIN customer c2 + ON ( cret_refund_customer_id = c2.c_customer_id ) + LEFT OUTER JOIN reason + ON ( cret_reason_id = r_reason_id ) + LEFT OUTER JOIN call_center + ON ( cret_call_center_id = cc_call_center_id ) + LEFT OUTER JOIN catalog_page + ON ( cret_catalog_page_id = cp_catalog_page_id ) + LEFT OUTER JOIN ship_mode + ON ( cret_shipmode_id = sm_ship_mode_id ) + LEFT OUTER JOIN warehouse + ON ( cret_warehouse_id = w_warehouse_id ) +WHERE i_rec_end_date IS NULL + AND cc_rec_end_date IS NULL; + +INSERT INTO catalog_returns +SELECT cr_return_date_sk, + cr_return_time_sk, + cr_item_sk, + cr_refunded_customer_sk, + cr_refunded_cdemo_sk, + cr_refunded_hdemo_sk, + cr_refunded_addr_sk, + cr_returning_customer_sk, + cr_returning_cdemo_sk, + cr_returning_hdemo_sk, + cr_returning_addr_sk, + cr_call_center_sk, + cr_catalog_page_sk, + cr_ship_mode_sk, + cr_warehouse_sk, + cr_reason_sk, + cr_order_number, + cr_return_quantity, + cr_return_amount, + cr_return_tax, + cast(cr_return_amt_inc_tax as decimal(7,2)), + cr_fee, + cr_return_ship_cost, + cr_refunded_cash, + cr_reversed_charge, + cr_merchant_credit, + cast(cr_net_loss as decimal(7,2)) +FROM crv; diff --git a/benchmarks/tpc-ds/queries/refresh/LF_CS.sql b/benchmarks/tpc-ds/queries/refresh/LF_CS.sql new file mode 100644 index 00000000..7e54ecb4 --- /dev/null +++ b/benchmarks/tpc-ds/queries/refresh/LF_CS.sql @@ -0,0 +1,128 @@ +DROP VIEW IF EXISTS csv; + +CREATE VIEW csv +AS +SELECT d1.d_date_sk cs_sold_date_sk, + t_time_sk cs_sold_time_sk, + d2.d_date_sk cs_ship_date_sk, + c1.c_customer_sk + cs_bill_customer_sk, + c1.c_current_cdemo_sk cs_bill_cdemo_sk + , + c1.c_current_hdemo_sk + cs_bill_hdemo_sk, + c1.c_current_addr_sk cs_bill_addr_sk, + c2.c_customer_sk + cs_ship_customer_sk, + c2.c_current_cdemo_sk cs_ship_cdemo_sk + , + c2.c_current_hdemo_sk + cs_ship_hdemo_sk, + c2.c_current_addr_sk cs_ship_addr_sk, + cc_call_center_sk + cs_call_center_sk, + cp_catalog_page_sk + cs_catalog_page_sk + , + sm_ship_mode_sk + cs_ship_mode_sk, + w_warehouse_sk cs_warehouse_sk, + i_item_sk cs_item_sk, + p_promo_sk cs_promo_sk, + cord_order_id cs_order_number, + clin_quantity cs_quantity, + i_wholesale_cost + cs_wholesale_cost, + i_current_price cs_list_price, + clin_sales_price cs_sales_price, + ( i_current_price-clin_sales_price ) * clin_quantity + cs_ext_discount_amt, + clin_sales_price * clin_quantity + cs_ext_sales_price + , + i_wholesale_cost * clin_quantity + cs_ext_wholesale_cost, + i_current_price * clin_quantity + CS_EXT_LIST_PRICE, + i_current_price * cc_tax_percentage CS_EXT_TAX, + clin_coupon_amt cs_coupon_amt, + clin_ship_cost * clin_quantity CS_EXT_SHIP_COST + , + ( clin_sales_price * clin_quantity ) - clin_coupon_amt + cs_net_paid, + ( ( clin_sales_price * clin_quantity ) - clin_coupon_amt ) * ( 1 + + cc_tax_percentage ) + cs_net_paid_inc_tax, + ( clin_sales_price * clin_quantity ) - clin_coupon_amt + ( + clin_ship_cost * clin_quantity ) + CS_NET_PAID_INC_SHIP, + ( clin_sales_price * clin_quantity ) - clin_coupon_amt + ( + clin_ship_cost * clin_quantity ) + i_current_price * cc_tax_percentage + CS_NET_PAID_INC_SHIP_TAX, + ( ( clin_sales_price * clin_quantity ) - clin_coupon_amt ) - ( + clin_quantity * i_wholesale_cost ) cs_net_profit +FROM s_catalog_order_1 + LEFT OUTER JOIN date_dim d1 + ON ( CAST(cord_order_date AS DATE) = d1.d_date ) + LEFT OUTER JOIN time_dim + ON ( cord_order_time = t_time ) + LEFT OUTER JOIN customer c1 + ON ( cord_bill_customer_id = c1.c_customer_id ) + LEFT OUTER JOIN customer c2 + ON ( cord_ship_customer_id = c2.c_customer_id ) + LEFT OUTER JOIN call_center + ON ( cord_call_center_id = cc_call_center_id + AND cc_rec_end_date IS NULL ) + LEFT OUTER JOIN ship_mode + ON ( cord_ship_mode_id = sm_ship_mode_id ) + JOIN s_catalog_order_lineitem_1 + ON ( cord_order_id = clin_order_id ) + LEFT OUTER JOIN date_dim d2 + ON ( CAST(clin_ship_date AS DATE) = d2.d_date ) + LEFT OUTER JOIN catalog_page + ON ( clin_catalog_page_number = cp_catalog_page_number + AND clin_catalog_number = cp_catalog_number ) + LEFT OUTER JOIN warehouse + ON ( clin_warehouse_id = w_warehouse_id ) + LEFT OUTER JOIN item + ON ( clin_item_id = i_item_id + AND i_rec_end_date IS NULL ) + LEFT OUTER JOIN promotion + ON ( clin_promotion_id = p_promo_id ); + +INSERT INTO catalog_sales +SELECT cs_sold_date_sk, + cs_sold_time_sk, + cs_ship_date_sk, + cs_bill_customer_sk, + cs_bill_cdemo_sk, + cs_bill_hdemo_sk, + cs_bill_addr_sk, + cs_ship_customer_sk, + cs_ship_cdemo_sk, + cs_ship_hdemo_sk, + cs_ship_addr_sk, + cs_call_center_sk, + cs_catalog_page_sk, + cs_ship_mode_sk, + cs_warehouse_sk, + cs_item_sk, + cs_promo_sk, + cs_order_number, + cast(cs_quantity as integer), + cs_wholesale_cost, + cs_list_price, + cs_sales_price, + cast(cs_ext_discount_amt as decimal(7,2)), + cast(cs_ext_sales_price as decimal(7,2)), + cast(cs_ext_wholesale_cost as decimal(7,2)), + cast(cs_ext_list_price as decimal(7,2)), + cast(cs_ext_tax as decimal(7,2)), + cs_coupon_amt, + cast(cs_ext_ship_cost as decimal(7,2)), + cast(cs_net_paid as decimal(7,2)), + cast(cs_net_paid_inc_tax as decimal(7,2)), + cast(cs_net_paid_inc_ship as decimal(7,2)), + cast(cs_net_paid_inc_ship_tax as decimal(7,2)), + cast(cs_net_profit as decimal(7,2)) +FROM csv; diff --git a/benchmarks/tpc-ds/queries/refresh/LF_I.sql b/benchmarks/tpc-ds/queries/refresh/LF_I.sql new file mode 100644 index 00000000..da0a208c --- /dev/null +++ b/benchmarks/tpc-ds/queries/refresh/LF_I.sql @@ -0,0 +1,23 @@ +DROP VIEW IF EXISTS iv; + +CREATE VIEW iv +AS +SELECT d_date_sk inv_date_sk, + i_item_sk inv_item_sk, + w_warehouse_sk inv_warehouse_sk, + invn_qty_on_hand inv_quantity_on_hand +FROM s_inventory_1 + LEFT OUTER JOIN warehouse + ON ( invn_warehouse_id = w_warehouse_id ) + LEFT OUTER JOIN item + ON ( invn_item_id = i_item_id + AND i_rec_end_date IS NULL ) + LEFT OUTER JOIN date_dim + ON ( cast(d_date as varchar) = invn_date ); + +INSERT INTO inventory +SELECT inv_date_sk, + inv_item_sk, + inv_warehouse_sk, + inv_quantity_on_hand +FROM iv; diff --git a/benchmarks/tpc-ds/queries/refresh/LF_SR.sql b/benchmarks/tpc-ds/queries/refresh/LF_SR.sql new file mode 100644 index 00000000..2749706a --- /dev/null +++ b/benchmarks/tpc-ds/queries/refresh/LF_SR.sql @@ -0,0 +1,74 @@ +DROP VIEW IF EXISTS srv; + +CREATE VIEW srv +AS +SELECT d_date_sk sr_returned_date_sk, + t_time_sk sr_return_time_sk, + i_item_sk sr_item_sk, + c_customer_sk sr_customer_sk, + c_current_cdemo_sk sr_cdemo_sk, + c_current_hdemo_sk sr_hdemo_sk, + c_current_addr_sk sr_addr_sk, + s_store_sk sr_store_sk, + r_reason_sk sr_reason_sk, + sret_ticket_number sr_ticket_number, + sret_return_qty sr_return_quantity, + sret_return_amt sr_return_amt, + sret_return_tax sr_return_tax, + sret_return_amt + sret_return_tax sr_return_amt_inc_tax, + sret_return_fee sr_fee, + sret_return_ship_cost sr_return_ship_cost, + sret_refunded_cash sr_refunded_cash, + sret_reversed_charge sr_reversed_charge, + sret_store_credit sr_store_credit, + sret_return_amt + sret_return_tax + + sret_return_fee + - sret_refunded_cash-sret_reversed_charge-sret_store_credit + sr_net_loss +FROM s_store_returns_1 + LEFT OUTER JOIN date_dim + ON ( CAST(sret_return_date AS DATE) = d_date ) + LEFT OUTER JOIN time_dim + ON ( ( CAST(Substr(sret_return_time, 1, 2) AS INTEGER) * + 3600 + + CAST(Substr(sret_return_time, 4 + , + 2) AS + INTEGER) * 60 + + CAST(Substr(sret_return_time, 7, + 2) + AS + INTEGER) ) = t_time ) + LEFT OUTER JOIN item + ON ( sret_item_id = i_item_id ) + LEFT OUTER JOIN customer + ON ( sret_customer_id = c_customer_id ) + LEFT OUTER JOIN store + ON ( sret_store_id = s_store_id ) + LEFT OUTER JOIN reason + ON ( sret_reason_id = r_reason_id ) +WHERE i_rec_end_date IS NULL + AND s_rec_end_date IS NULL; + +INSERT INTO store_returns +SELECT sr_returned_date_sk, + sr_return_time_sk, + sr_item_sk, + sr_customer_sk, + sr_cdemo_sk, + sr_hdemo_sk, + sr_addr_sk, + sr_store_sk, + sr_reason_sk, + cast(sr_ticket_number as bigint), + sr_return_quantity, + sr_return_amt, + sr_return_tax, + cast(sr_return_amt_inc_tax as decimal(7,2)), + sr_fee, + sr_return_ship_cost, + sr_refunded_cash, + sr_reversed_charge, + sr_store_credit, + cast(sr_net_loss as decimal(7,2)) +FROM srv; diff --git a/benchmarks/tpc-ds/queries/refresh/LF_SS.sql b/benchmarks/tpc-ds/queries/refresh/LF_SS.sql new file mode 100644 index 00000000..277a473e --- /dev/null +++ b/benchmarks/tpc-ds/queries/refresh/LF_SS.sql @@ -0,0 +1,66 @@ +drop view if exists ssv; + +CREATE VIEW ssv +AS SELECT d_date_sk ss_sold_date_sk, + t_time_sk ss_sold_time_sk, + i_item_sk ss_item_sk, + c_customer_sk ss_customer_sk, + c_current_cdemo_sk ss_cdemo_sk, + c_current_hdemo_sk ss_hdemo_sk, + c_current_addr_sk ss_addr_sk, + s_store_sk ss_store_sk, + p_promo_sk ss_promo_sk, + purc_purchase_id ss_ticket_number, + plin_quantity ss_quantity, + i_wholesale_cost ss_wholesale_cost, + i_current_price ss_list_price, + plin_sale_price ss_sales_price, + (i_current_price-plin_sale_price)*plin_quantity ss_ext_discount_amt, + plin_sale_price * plin_quantity ss_ext_sales_price, + i_wholesale_cost * plin_quantity ss_ext_wholesale_cost, + i_current_price * plin_quantity ss_ext_list_price, + i_current_price * s_tax_precentage ss_ext_tax, + plin_coupon_amt ss_coupon_amt, + (plin_sale_price * plin_quantity)-plin_coupon_amt ss_net_paid, + ((plin_sale_price * plin_quantity)-plin_coupon_amt)*(1+s_tax_precentage) ss_net_paid_inc_tax, + ((plin_sale_price * plin_quantity)-plin_coupon_amt)-(plin_quantity*i_wholesale_cost) + ss_net_profit + FROM + s_purchase_1 + LEFT OUTER JOIN customer ON (purc_customer_id = c_customer_id) + LEFT OUTER JOIN store ON (purc_store_id = s_store_id) + LEFT OUTER JOIN date_dim ON (cast(purc_purchase_date as date) = d_date) + LEFT OUTER JOIN time_dim ON (PURC_PURCHASE_TIME = t_time) + JOIN s_purchase_lineitem_1 ON (purc_purchase_id = plin_purchase_id) + LEFT OUTER JOIN promotion ON plin_promotion_id = p_promo_id + LEFT OUTER JOIN item ON plin_item_id = i_item_id + WHERE + purc_purchase_id = plin_purchase_id + AND i_rec_end_date is NULL + AND s_rec_end_date is NULL; + +insert into store_sales +select ss_sold_date_sk, + ss_sold_time_sk, + ss_item_sk, + ss_customer_sk, + ss_cdemo_sk, + ss_hdemo_sk, + ss_addr_sk, + ss_store_sk, + ss_promo_sk, + ss_ticket_number, + cast(ss_quantity as integer), + ss_wholesale_cost, + ss_list_price, + ss_sales_price, + cast(ss_ext_discount_amt as decimal(7,2)), + cast(ss_ext_sales_price as decimal(7,2)), + cast(ss_ext_wholesale_cost as decimal(7,2)), + cast(ss_ext_list_price as decimal(7,2)), + cast(ss_ext_tax as decimal(7,2)), + ss_coupon_amt, + cast(ss_net_paid as decimal(7,2)), + cast(ss_net_paid_inc_tax as decimal(7,2)), + cast(ss_net_profit as decimal(7,2)) +from ssv; diff --git a/benchmarks/tpc-ds/queries/refresh/LF_WR.sql b/benchmarks/tpc-ds/queries/refresh/LF_WR.sql new file mode 100644 index 00000000..62d43e06 --- /dev/null +++ b/benchmarks/tpc-ds/queries/refresh/LF_WR.sql @@ -0,0 +1,65 @@ +drop view if exists wrv; + +CREATE VIEW wrv +AS SELECT d_date_sk wr_return_date_sk + ,t_time_sk wr_return_time_sk + ,i_item_sk wr_item_sk + ,c1.c_customer_sk wr_refunded_customer_sk + ,c1.c_current_cdemo_sk wr_refunded_cdemo_sk + ,c1.c_current_hdemo_sk wr_refunded_hdemo_sk + ,c1.c_current_addr_sk wr_refunded_addr_sk + ,c2.c_customer_sk wr_returning_customer_sk + ,c2.c_current_cdemo_sk wr_returning_cdemo_sk + ,c2.c_current_hdemo_sk wr_returning_hdemo_sk + ,c2.c_current_addr_sk wr_returning_addr_sk + ,wp_web_page_sk wr_web_page_sk + ,r_reason_sk wr_reason_sk + ,wret_order_id wr_order_number + ,wret_return_qty wr_return_quantity + ,wret_return_amt wr_return_amt + ,wret_return_tax wr_return_tax + ,wret_return_amt + wret_return_tax AS wr_return_amt_inc_tax + ,wret_return_fee wr_fee + ,wret_return_ship_cost wr_return_ship_cost + ,wret_refunded_cash wr_refunded_cash + ,wret_reversed_charge wr_reversed_charge + ,wret_account_credit wr_account_credit + ,wret_return_amt+wret_return_tax+wret_return_fee + -wret_refunded_cash-wret_reversed_charge-wret_account_credit wr_net_loss + FROM s_web_returns_1 + LEFT OUTER JOIN date_dim ON (cast(wret_return_date as date) = d_date) + LEFT OUTER JOIN time_dim ON ((CAST(SUBSTR(wret_return_time,1,2) AS integer)*3600 + +CAST(SUBSTR(wret_return_time,4,2) AS integer)*60+CAST(SUBSTR(wret_return_time,7,2) AS integer))=t_time) + LEFT OUTER JOIN item ON (wret_item_id = i_item_id) + LEFT OUTER JOIN customer c1 ON (wret_return_customer_id = c1.c_customer_id) + LEFT OUTER JOIN customer c2 ON (wret_refund_customer_id = c2.c_customer_id) + LEFT OUTER JOIN reason ON (wret_reason_id = r_reason_id) + LEFT OUTER JOIN web_page ON (wret_web_site_id = WP_WEB_PAGE_id) + WHERE i_rec_end_date IS NULL AND wp_rec_end_date IS NULL; + +insert into web_returns +select wr_return_date_sk, + wr_return_time_sk, + wr_item_sk, + wr_refunded_customer_sk, + wr_refunded_cdemo_sk, + wr_refunded_hdemo_sk, + wr_refunded_addr_sk, + wr_returning_customer_sk, + wr_returning_cdemo_sk, + wr_returning_hdemo_sk, + wr_returning_addr_sk, + wr_web_page_sk, + wr_reason_sk, + wr_order_number, + wr_return_quantity, + wr_return_amt, + wr_return_tax, + cast(wr_return_amt_inc_tax as decimal(7,2)), + wr_fee, + wr_return_ship_cost, + wr_refunded_cash, + wr_reversed_charge, + wr_account_credit, + cast(wr_net_loss as decimal(7,2)) +from wrv; diff --git a/benchmarks/tpc-ds/queries/refresh/LF_WS.sql b/benchmarks/tpc-ds/queries/refresh/LF_WS.sql new file mode 100644 index 00000000..ecf20da8 --- /dev/null +++ b/benchmarks/tpc-ds/queries/refresh/LF_WS.sql @@ -0,0 +1,91 @@ +drop view if exists wsv; + +CREATE VIEW wsv +AS SELECT d1.d_date_sk ws_sold_date_sk, + t_time_sk ws_sold_time_sk, + d2.d_date_sk ws_ship_date_sk, + i_item_sk ws_item_sk, + c1.c_customer_sk ws_bill_customer_sk, + c1.c_current_cdemo_sk ws_bill_cdemo_sk, + c1.c_current_hdemo_sk ws_bill_hdemo_sk, + c1.c_current_addr_sk ws_bill_addr_sk, + c2.c_customer_sk ws_ship_customer_sk, + c2.c_current_cdemo_sk ws_ship_cdemo_sk, + c2.c_current_hdemo_sk ws_ship_hdemo_sk, + c2.c_current_addr_sk ws_ship_addr_sk, + wp_web_page_sk ws_web_page_sk, + web_site_sk ws_web_site_sk, + sm_ship_mode_sk ws_ship_mode_sk, + w_warehouse_sk ws_warehouse_sk, + p_promo_sk ws_promo_sk, + word_order_id ws_order_number, + wlin_quantity ws_quantity, + i_wholesale_cost ws_wholesale_cost, + i_current_price ws_list_price, + wlin_sales_price ws_sales_price, + (i_current_price-wlin_sales_price)*wlin_quantity ws_ext_discount_amt, + wlin_sales_price * wlin_quantity ws_ext_sales_price, + i_wholesale_cost * wlin_quantity ws_ext_wholesale_cost, + i_current_price * wlin_quantity ws_ext_list_price, + i_current_price * web_tax_percentage ws_ext_tax, + wlin_coupon_amt ws_coupon_amt, + wlin_ship_cost * wlin_quantity WS_EXT_SHIP_COST, + (wlin_sales_price * wlin_quantity)-wlin_coupon_amt ws_net_paid, + ((wlin_sales_price * wlin_quantity)-wlin_coupon_amt)*(1+web_tax_percentage) ws_net_paid_inc_tax, + ((wlin_sales_price * wlin_quantity)-wlin_coupon_amt)-(wlin_quantity*i_wholesale_cost) + WS_NET_PAID_INC_SHIP, + (wlin_sales_price * wlin_quantity)-wlin_coupon_amt + (wlin_ship_cost * wlin_quantity) + + i_current_price * web_tax_percentage WS_NET_PAID_INC_SHIP_TAX, + ((wlin_sales_price * wlin_quantity)-wlin_coupon_amt)-(i_wholesale_cost * wlin_quantity) + WS_NET_PROFIT + FROM + s_web_order_1 + LEFT OUTER JOIN date_dim d1 ON (cast(word_order_date as date) = d1.d_date) + LEFT OUTER JOIN time_dim ON (word_order_time = t_time) + LEFT OUTER JOIN customer c1 ON (word_bill_customer_id = c1.c_customer_id) + LEFT OUTER JOIN customer c2 ON (word_ship_customer_id = c2.c_customer_id) + LEFT OUTER JOIN web_site ON (word_web_site_id = web_site_id AND web_rec_end_date IS NULL) + LEFT OUTER JOIN ship_mode ON (word_ship_mode_id = sm_ship_mode_id) + JOIN s_web_order_lineitem_1 ON (word_order_id = wlin_order_id) + LEFT OUTER JOIN date_dim d2 ON (cast(wlin_ship_date as date) = d2.d_date) + LEFT OUTER JOIN item ON (wlin_item_id = i_item_id AND i_rec_end_date IS NULL) + LEFT OUTER JOIN web_page ON (wlin_web_page_id = wp_web_page_id AND wp_rec_end_date IS NULL) + LEFT OUTER JOIN warehouse ON (wlin_warehouse_id = w_warehouse_id) + LEFT OUTER JOIN promotion ON (wlin_promotion_id = p_promo_id); + +insert into web_sales +select ws_sold_date_sk, + ws_sold_time_sk, + ws_ship_date_sk, + ws_item_sk, + ws_bill_customer_sk, + ws_bill_cdemo_sk, + ws_bill_hdemo_sk, + ws_bill_addr_sk, + ws_ship_customer_sk, + ws_ship_cdemo_sk, + ws_ship_hdemo_sk, + ws_ship_addr_sk, + ws_web_page_sk, + ws_web_site_sk, + ws_ship_mode_sk, + ws_warehouse_sk, + ws_promo_sk, + ws_order_number, + cast(ws_quantity as integer), + ws_wholesale_cost, + ws_list_price, + ws_sales_price, + cast(ws_ext_discount_amt as decimal(7,2)), + cast(ws_ext_sales_price as decimal(7,2)), + cast(ws_ext_wholesale_cost as decimal(7,2)), + cast(ws_ext_list_price as decimal(7,2)), + cast(ws_ext_tax as decimal(7,2)), + ws_coupon_amt, + cast(ws_ext_ship_cost as decimal(7,2)), + cast(ws_net_paid as decimal(7,2)), + cast(ws_net_paid_inc_tax as decimal(7,2)), + cast(ws_net_paid_inc_ship as decimal(7,2)), + cast(ws_net_paid_inc_ship_tax as decimal(7,2)), + cast(ws_net_profit as decimal(7,2)) +from wsv; diff --git a/benchmarks/tpc-ds/queries/refresh/verify_LF_CR_query_01.sql b/benchmarks/tpc-ds/queries/refresh/verify_LF_CR_query_01.sql new file mode 100644 index 00000000..8e775f2e --- /dev/null +++ b/benchmarks/tpc-ds/queries/refresh/verify_LF_CR_query_01.sql @@ -0,0 +1,4 @@ +-- ============================================== +-- 144662 +-- ============================================== +select count(*) from catalog_returns; diff --git a/benchmarks/tpc-ds/queries/refresh/verify_LF_CR_query_02.sql b/benchmarks/tpc-ds/queries/refresh/verify_LF_CR_query_02.sql new file mode 100644 index 00000000..d18df984 --- /dev/null +++ b/benchmarks/tpc-ds/queries/refresh/verify_LF_CR_query_02.sql @@ -0,0 +1,38 @@ +-- ============================================== +-- 08 39 4f 4a 5b b6 95 4e +-- ============================================== +with column_checksums as ( + select array[ + checksum(cr_returned_date_sk), + checksum(cr_returned_time_sk), + checksum(cr_item_sk), + checksum(cr_refunded_customer_sk), + checksum(cr_refunded_cdemo_sk), + checksum(cr_refunded_hdemo_sk), + checksum(cr_refunded_addr_sk), + checksum(cr_returning_customer_sk), + checksum(cr_returning_cdemo_sk), + checksum(cr_returning_hdemo_sk), + checksum(cr_returning_addr_sk), + checksum(cr_call_center_sk), + checksum(cr_catalog_page_sk), + checksum(cr_ship_mode_sk), + checksum(cr_warehouse_sk), + checksum(cr_reason_sk), + checksum(cr_order_number), + checksum(cr_return_quantity), + checksum(cr_return_amount), + checksum(cr_return_tax), + checksum(cr_return_amt_inc_tax), + checksum(cr_fee), + checksum(cr_return_ship_cost), + checksum(cr_refunded_cash), + checksum(cr_reversed_charge), + checksum(cr_store_credit), + checksum(cr_net_loss) + ] checksums +from catalog_returns + ) +select checksum(cs) as table_checksum +from column_checksums + cross join unnest(column_checksums.checksums) as x(cs); diff --git a/benchmarks/tpc-ds/queries/refresh/verify_LF_CS_query_03.sql b/benchmarks/tpc-ds/queries/refresh/verify_LF_CS_query_03.sql new file mode 100644 index 00000000..9b9705e5 --- /dev/null +++ b/benchmarks/tpc-ds/queries/refresh/verify_LF_CS_query_03.sql @@ -0,0 +1,4 @@ +-- ============================================== +-- 1447686 +-- ============================================== +select count(*) from catalog_sales; diff --git a/benchmarks/tpc-ds/queries/refresh/verify_LF_CS_query_04.sql b/benchmarks/tpc-ds/queries/refresh/verify_LF_CS_query_04.sql new file mode 100644 index 00000000..c3ce91d2 --- /dev/null +++ b/benchmarks/tpc-ds/queries/refresh/verify_LF_CS_query_04.sql @@ -0,0 +1,45 @@ +-- ============================================== +-- fd 54 dc 73 48 5d da 70 +-- ============================================== +with column_checksums as ( + select array[ + checksum(cs_sold_date_sk), + checksum(cs_sold_time_sk), + checksum(cs_ship_date_sk), + checksum(cs_bill_customer_sk), + checksum(cs_bill_cdemo_sk), + checksum(cs_bill_hdemo_sk), + checksum(cs_bill_addr_sk), + checksum(cs_ship_customer_sk), + checksum(cs_ship_cdemo_sk), + checksum(cs_ship_hdemo_sk), + checksum(cs_ship_addr_sk), + checksum(cs_call_center_sk), + checksum(cs_catalog_page_sk), + checksum(cs_ship_mode_sk), + checksum(cs_warehouse_sk), + checksum(cs_item_sk), + checksum(cs_promo_sk), + checksum(cs_order_number), + checksum(cs_quantity), + checksum(cs_wholesale_cost), + checksum(cs_list_price), + checksum(cs_sales_price), + checksum(cs_ext_discount_amt), + checksum(cs_ext_sales_price), + checksum(cs_ext_wholesale_cost), + checksum(cs_ext_list_price), + checksum(cs_ext_tax), + checksum(cs_coupon_amt), + checksum(cs_ext_ship_cost), + checksum(cs_net_paid), + checksum(cs_net_paid_inc_tax), + checksum(cs_net_paid_inc_ship), + checksum(cs_net_paid_inc_ship_tax), + checksum(cs_net_profit) + ] checksums +from catalog_sales + ) +select checksum(cs) as table_checksum +from column_checksums + cross join unnest(column_checksums.checksums) as x(cs); diff --git a/benchmarks/tpc-ds/queries/refresh/verify_LF_I_query_13.sql b/benchmarks/tpc-ds/queries/refresh/verify_LF_I_query_13.sql new file mode 100644 index 00000000..a629a342 --- /dev/null +++ b/benchmarks/tpc-ds/queries/refresh/verify_LF_I_query_13.sql @@ -0,0 +1,4 @@ +-- ============================================== +-- 12015000 +-- ============================================== +select count(*) from inventory; diff --git a/benchmarks/tpc-ds/queries/refresh/verify_LF_I_query_14.sql b/benchmarks/tpc-ds/queries/refresh/verify_LF_I_query_14.sql new file mode 100644 index 00000000..f932b908 --- /dev/null +++ b/benchmarks/tpc-ds/queries/refresh/verify_LF_I_query_14.sql @@ -0,0 +1,15 @@ +-- ============================================== +-- a1 56 0d 3e 9a f7 5f 9d +-- ============================================== +with column_checksums as ( + select array[ + checksum(inv_date_sk), + checksum(inv_item_sk), + checksum(inv_warehouse_sk), + checksum(inv_quantity_on_hand) + ] checksums +from inventory + ) +select checksum(cs) as table_checksum +from column_checksums + cross join unnest(column_checksums.checksums) as x(cs); diff --git a/benchmarks/tpc-ds/queries/refresh/verify_LF_SR_query_05.sql b/benchmarks/tpc-ds/queries/refresh/verify_LF_SR_query_05.sql new file mode 100644 index 00000000..b9fa1f4f --- /dev/null +++ b/benchmarks/tpc-ds/queries/refresh/verify_LF_SR_query_05.sql @@ -0,0 +1,4 @@ +-- ============================================== +-- 288714 +-- ============================================== +select count(*) from store_returns; diff --git a/benchmarks/tpc-ds/queries/refresh/verify_LF_SR_query_06.sql b/benchmarks/tpc-ds/queries/refresh/verify_LF_SR_query_06.sql new file mode 100644 index 00000000..cb5c35f7 --- /dev/null +++ b/benchmarks/tpc-ds/queries/refresh/verify_LF_SR_query_06.sql @@ -0,0 +1,31 @@ +-- ============================================== +-- be ab 61 0d ae 90 25 86 +-- ============================================== +with column_checksums as ( + select array[ + checksum(sr_returned_date_sk), + checksum(sr_return_time_sk), + checksum(sr_item_sk), + checksum(sr_customer_sk), + checksum(sr_cdemo_sk), + checksum(sr_hdemo_sk), + checksum(sr_addr_sk), + checksum(sr_store_sk), + checksum(sr_reason_sk), + checksum(sr_ticket_number), + checksum(sr_return_quantity), + checksum(sr_return_amt), + checksum(sr_return_tax), + checksum(sr_return_amt_inc_tax), + checksum(sr_fee), + checksum(sr_return_ship_cost), + checksum(sr_refunded_cash), + checksum(sr_reversed_charge), + checksum(sr_store_credit), + checksum(sr_net_loss) + ] checksums +from store_returns + ) +select checksum(cs) as table_checksum +from column_checksums + cross join unnest(column_checksums.checksums) as x(cs); diff --git a/benchmarks/tpc-ds/queries/refresh/verify_LF_SS_query_07.sql b/benchmarks/tpc-ds/queries/refresh/verify_LF_SS_query_07.sql new file mode 100644 index 00000000..1e819644 --- /dev/null +++ b/benchmarks/tpc-ds/queries/refresh/verify_LF_SS_query_07.sql @@ -0,0 +1,4 @@ +-- ============================================== +-- 2892668 +-- ============================================== +select count(*) from store_sales; diff --git a/benchmarks/tpc-ds/queries/refresh/verify_LF_SS_query_08.sql b/benchmarks/tpc-ds/queries/refresh/verify_LF_SS_query_08.sql new file mode 100644 index 00000000..3ca908f3 --- /dev/null +++ b/benchmarks/tpc-ds/queries/refresh/verify_LF_SS_query_08.sql @@ -0,0 +1,34 @@ +-- ============================================== +-- 91 7f 5e 5c 0b 2d 03 72 +-- ============================================== +with column_checksums as ( + select array[ + checksum(ss_sold_date_sk), + checksum(ss_sold_time_sk), + checksum(ss_item_sk), + checksum(ss_customer_sk), + checksum(ss_cdemo_sk), + checksum(ss_hdemo_sk), + checksum(ss_addr_sk), + checksum(ss_store_sk), + checksum(ss_promo_sk), + checksum(ss_ticket_number), + checksum(ss_quantity), + checksum(ss_wholesale_cost), + checksum(ss_list_price), + checksum(ss_sales_price), + checksum(ss_ext_discount_amt), + checksum(ss_ext_sales_price), + checksum(ss_ext_wholesale_cost), + checksum(ss_ext_list_price), + checksum(ss_ext_tax), + checksum(ss_coupon_amt), + checksum(ss_net_paid), + checksum(ss_net_paid_inc_tax), + checksum(ss_net_profit) + ] checksums +from store_sales + ) +select checksum(cs) as table_checksum +from column_checksums + cross join unnest(column_checksums.checksums) as x(cs); diff --git a/benchmarks/tpc-ds/queries/refresh/verify_LF_WR_query_09.sql b/benchmarks/tpc-ds/queries/refresh/verify_LF_WR_query_09.sql new file mode 100644 index 00000000..de4e5b6e --- /dev/null +++ b/benchmarks/tpc-ds/queries/refresh/verify_LF_WR_query_09.sql @@ -0,0 +1,4 @@ +-- ============================================== +-- 72083 +-- ============================================== +select count(*) from web_returns; diff --git a/benchmarks/tpc-ds/queries/refresh/verify_LF_WR_query_10.sql b/benchmarks/tpc-ds/queries/refresh/verify_LF_WR_query_10.sql new file mode 100644 index 00000000..c8a71ebb --- /dev/null +++ b/benchmarks/tpc-ds/queries/refresh/verify_LF_WR_query_10.sql @@ -0,0 +1,35 @@ +-- ============================================== +-- ec 74 b5 fe ad 2c 44 57 +-- ============================================== +with column_checksums as ( + select array[ + checksum(wr_returned_date_sk), + checksum(wr_returned_time_sk), + checksum(wr_item_sk), + checksum(wr_refunded_customer_sk), + checksum(wr_refunded_cdemo_sk), + checksum(wr_refunded_hdemo_sk), + checksum(wr_refunded_addr_sk), + checksum(wr_returning_customer_sk), + checksum(wr_returning_cdemo_sk), + checksum(wr_returning_hdemo_sk), + checksum(wr_returning_addr_sk), + checksum(wr_web_page_sk), + checksum(wr_reason_sk), + checksum(wr_order_number), + checksum(wr_return_quantity), + checksum(wr_return_amt), + checksum(wr_return_tax), + checksum(wr_return_amt_inc_tax), + checksum(wr_fee), + checksum(wr_return_ship_cost), + checksum(wr_refunded_cash), + checksum(wr_reversed_charge), + checksum(wr_account_credit), + checksum(wr_net_loss) + ] checksums +from web_returns + ) +select checksum(cs) as table_checksum +from column_checksums + cross join unnest(column_checksums.checksums) as x(cs); diff --git a/benchmarks/tpc-ds/queries/refresh/verify_LF_WS_query_11.sql b/benchmarks/tpc-ds/queries/refresh/verify_LF_WS_query_11.sql new file mode 100644 index 00000000..3a2c9a5f --- /dev/null +++ b/benchmarks/tpc-ds/queries/refresh/verify_LF_WS_query_11.sql @@ -0,0 +1,4 @@ +-- ============================================== +-- 722456 +-- ============================================== +select count(*) from web_sales; diff --git a/benchmarks/tpc-ds/queries/refresh/verify_LF_WS_query_12.sql b/benchmarks/tpc-ds/queries/refresh/verify_LF_WS_query_12.sql new file mode 100644 index 00000000..1820c6e4 --- /dev/null +++ b/benchmarks/tpc-ds/queries/refresh/verify_LF_WS_query_12.sql @@ -0,0 +1,45 @@ +-- ============================================== +-- 28 ec 0b 0b ac 1b fb 1b +-- ============================================== +with column_checksums as ( + select array[ + checksum(ws_sold_date_sk), + checksum(ws_sold_time_sk), + checksum(ws_ship_date_sk), + checksum(ws_item_sk), + checksum(ws_bill_customer_sk), + checksum(ws_bill_cdemo_sk), + checksum(ws_bill_hdemo_sk), + checksum(ws_bill_addr_sk), + checksum(ws_ship_customer_sk), + checksum(ws_ship_cdemo_sk), + checksum(ws_ship_hdemo_sk), + checksum(ws_ship_addr_sk), + checksum(ws_web_page_sk), + checksum(ws_web_site_sk), + checksum(ws_ship_mode_sk), + checksum(ws_warehouse_sk), + checksum(ws_promo_sk), + checksum(ws_order_number), + checksum(ws_quantity), + checksum(ws_wholesale_cost), + checksum(ws_list_price), + checksum(ws_sales_price), + checksum(ws_ext_discount_amt), + checksum(ws_ext_sales_price), + checksum(ws_ext_wholesale_cost), + checksum(ws_ext_list_price), + checksum(ws_ext_tax), + checksum(ws_coupon_amt), + checksum(ws_ext_ship_cost), + checksum(ws_net_paid), + checksum(ws_net_paid_inc_tax), + checksum(ws_net_paid_inc_ship), + checksum(ws_net_paid_inc_ship_tax), + checksum(ws_net_profit) + ] checksums +from web_sales + ) +select checksum(cs) as table_checksum +from column_checksums + cross join unnest(column_checksums.checksums) as x(cs); diff --git a/benchmarks/tpc-ds/sf1_refresh.json b/benchmarks/tpc-ds/sf1_refresh.json new file mode 100644 index 00000000..e74ebac5 --- /dev/null +++ b/benchmarks/tpc-ds/sf1_refresh.json @@ -0,0 +1,5 @@ +{ + "description": "Specifies the catalog and the schema for TPC-DS Iceberg scale factor 1 GB.", + "catalog": "iceberg", + "schema": "tpcds_qualification_db_iceberg_pbench" +}