diff --git a/benchmarks/tpc-ds/queries/refresh/verify_LF_CR.sql b/benchmarks/tpc-ds/queries/refresh/verify_LF_CR.sql index 92694994..c97fc0c9 100644 --- a/benchmarks/tpc-ds/queries/refresh/verify_LF_CR.sql +++ b/benchmarks/tpc-ds/queries/refresh/verify_LF_CR.sql @@ -1,84 +1,41 @@ -- ============================================== --- Fetch two rows randomly from crv: +-- 144662 +-- 08 39 4f 4a 5b b6 95 4e -- ============================================== -with crv_random as ( - 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, - cr_return_amt_inc_tax, - cr_fee, - cr_return_ship_cost, - cr_refunded_cash, - cr_reversed_charge, - cr_merchant_credit, - cr_net_loss - from crv - where cr_return_time_sk >= (select floor( max(cr_return_time_sk) * rand()) from crv ) - order by cr_return_time_sk limit 2) --- ======================================================== --- Verify the row can be selected from catalog_returns: --- ======================================================== -select - cr.cr_returned_date_sk, - cr.cr_returned_time_sk, - cr.cr_item_sk, - cr.cr_refunded_customer_sk, - cr.cr_refunded_cdemo_sk, - cr.cr_refunded_hdemo_sk, - cr.cr_refunded_addr_sk, - cr.cr_returning_customer_sk, - cr.cr_returning_cdemo_sk, - cr.cr_returning_hdemo_sk, - cr.cr_returning_addr_sk, - cr.cr_call_center_sk, - cr.cr_catalog_page_sk, - cr.cr_ship_mode_sk, - cr.cr_warehouse_sk, - cr.cr_reason_sk, - cr.cr_order_number, - cr.cr_return_quantity, - cr.cr_return_amount, - cr.cr_return_tax, - cr.cr_return_amt_inc_tax, - cr.cr_fee, - cr.cr_return_ship_cost, - cr.cr_refunded_cash, - cr.cr_reversed_charge, - cr.cr_store_credit, - cr.cr_net_loss -from catalog_returns cr, crv_random -where - cr.cr_returned_date_sk = crv_random.cr_return_date_sk and - cr.cr_returned_time_sk = crv_random.cr_return_time_sk and - cr.cr_item_sk = crv_random.cr_item_sk and - cr.cr_refunded_customer_sk = crv_random.cr_refunded_customer_sk and - cr.cr_refunded_cdemo_sk = crv_random.cr_refunded_cdemo_sk and - cr.cr_refunded_hdemo_sk = crv_random.cr_refunded_hdemo_sk and - cr.cr_refunded_addr_sk = crv_random.cr_refunded_addr_sk and - cr.cr_returning_customer_sk = crv_random.cr_returning_customer_sk and - cr.cr_returning_cdemo_sk = crv_random.cr_returning_cdemo_sk and - cr.cr_returning_hdemo_sk = crv_random.cr_returning_hdemo_sk and - cr.cr_returning_addr_sk = crv_random.cr_returning_addr_sk and - cr.cr_call_center_sk = crv_random.cr_call_center_sk and - cr.cr_catalog_page_sk = crv_random.cr_catalog_page_sk and - cr.cr_ship_mode_sk = crv_random.cr_ship_mode_sk and - cr.cr_warehouse_sk = crv_random.cr_warehouse_sk and - cr.cr_reason_sk = crv_random.cr_reason_sk; +select count(*) from catalog_returns; + +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.sql b/benchmarks/tpc-ds/queries/refresh/verify_LF_CS.sql index 896cabc1..fa98e99a 100644 --- a/benchmarks/tpc-ds/queries/refresh/verify_LF_CS.sql +++ b/benchmarks/tpc-ds/queries/refresh/verify_LF_CS.sql @@ -1,101 +1,48 @@ -- ============================================== --- Fetch two rows randomly from csv: +-- 1447686 +-- fd 54 dc 73 48 5d da 70 -- ============================================== -with csc_random as - (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, - cs_quantity, - cs_wholesale_cost, - cs_list_price, - cs_sales_price, - cs_ext_discount_amt, - cs_ext_sales_price, - cs_ext_wholesale_cost, - cs_ext_list_price, - cs_ext_tax, - cs_coupon_amt, - cs_ext_ship_cost, - cs_net_paid, - cs_net_paid_inc_tax, - cs_net_paid_inc_ship, - cs_net_paid_inc_ship_tax, - cs_net_profit - from csv - where cs_sold_time_sk >= (select floor( max(cs_sold_time_sk) * rand()) from csv ) - order by cs_sold_time_sk limit 2) +select count(*) from catalog_sales; --- ======================================================== --- Verify the row can be selected from catalog_sales: --- ======================================================== - -select - catalog_sales.cs_sold_date_sk, - catalog_sales.cs_sold_time_sk, - catalog_sales.cs_ship_date_sk, - catalog_sales.cs_bill_customer_sk, - catalog_sales.cs_bill_cdemo_sk, - catalog_sales.cs_bill_hdemo_sk, - catalog_sales.cs_bill_addr_sk, - catalog_sales.cs_ship_customer_sk, - catalog_sales.cs_ship_cdemo_sk, - catalog_sales.cs_ship_hdemo_sk, - catalog_sales.cs_ship_addr_sk, - catalog_sales.cs_call_center_sk, - catalog_sales.cs_catalog_page_sk, - catalog_sales.cs_ship_mode_sk, - catalog_sales.cs_warehouse_sk, - catalog_sales.cs_item_sk, - catalog_sales.cs_promo_sk, - catalog_sales.cs_order_number, - catalog_sales.cs_quantity, - catalog_sales.cs_wholesale_cost, - catalog_sales.cs_list_price, - catalog_sales.cs_sales_price, - catalog_sales.cs_ext_discount_amt, - catalog_sales.cs_ext_sales_price, - catalog_sales.cs_ext_wholesale_cost, - catalog_sales.cs_ext_list_price, - catalog_sales.cs_ext_tax, - catalog_sales.cs_coupon_amt, - catalog_sales.cs_ext_ship_cost, - catalog_sales.cs_net_paid, - catalog_sales.cs_net_paid_inc_tax, - catalog_sales.cs_net_paid_inc_ship, - catalog_sales.cs_net_paid_inc_ship_tax, - catalog_sales.cs_net_profit -from catalog_sales, csc_random -where - catalog_sales.cs_sold_date_sk = csc_random.cs_sold_date_sk and - catalog_sales.cs_sold_time_sk = csc_random.cs_sold_time_sk and - catalog_sales.cs_ship_date_sk = csc_random.cs_ship_date_sk and - catalog_sales.cs_bill_customer_sk = csc_random.cs_bill_customer_sk and - catalog_sales.cs_bill_cdemo_sk = csc_random.cs_bill_cdemo_sk and - catalog_sales.cs_bill_hdemo_sk = csc_random.cs_bill_hdemo_sk and - catalog_sales.cs_bill_addr_sk = csc_random.cs_bill_addr_sk and - catalog_sales.cs_ship_customer_sk = csc_random.cs_ship_customer_sk and - catalog_sales.cs_ship_cdemo_sk = csc_random.cs_ship_cdemo_sk and - catalog_sales.cs_ship_hdemo_sk = csc_random.cs_ship_hdemo_sk and - catalog_sales.cs_ship_addr_sk = csc_random.cs_ship_addr_sk and - catalog_sales.cs_call_center_sk = csc_random.cs_call_center_sk and - catalog_sales.cs_catalog_page_sk = csc_random.cs_catalog_page_sk and - catalog_sales.cs_ship_mode_sk = csc_random.cs_ship_mode_sk and - catalog_sales.cs_warehouse_sk = csc_random.cs_warehouse_sk and - catalog_sales.cs_item_sk = csc_random.cs_item_sk and - catalog_sales.cs_promo_sk = csc_random.cs_promo_sk; +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.sql b/benchmarks/tpc-ds/queries/refresh/verify_LF_I.sql index f40a7ec8..70c75552 100644 --- a/benchmarks/tpc-ds/queries/refresh/verify_LF_I.sql +++ b/benchmarks/tpc-ds/queries/refresh/verify_LF_I.sql @@ -1,26 +1,18 @@ -- ============================================== --- Fetch two rows randomly from iv: +-- 12015000 +-- a1 56 0d 3e 9a f7 5f 9d -- ============================================== -with inv_random as (select - inv_date_sk, - inv_item_sk, - inv_warehouse_sk, - inv_quantity_on_hand - from iv - where inv_item_sk >= (select floor( max(inv_item_sk) * rand()) from iv ) - order by inv_item_sk limit 2) +select count(*) from inventory; --- ======================================================== --- Verify the row can be selected from inventory: --- ======================================================== - -select - inv.inv_date_sk, - inv.inv_item_sk, - inv.inv_warehouse_sk, - inv.inv_quantity_on_hand -from inventory inv, inv_random -where - inv.inv_date_sk = inv_random.inv_date_sk and - inv.inv_item_sk = inv_random.inv_item_sk and - inv.inv_warehouse_sk = inv_random.inv_warehouse_sk; +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.sql b/benchmarks/tpc-ds/queries/refresh/verify_LF_SR.sql index dd5fe1b9..491a8656 100644 --- a/benchmarks/tpc-ds/queries/refresh/verify_LF_SR.sql +++ b/benchmarks/tpc-ds/queries/refresh/verify_LF_SR.sql @@ -1,61 +1,34 @@ -with sr_random as - (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, - sr_ticket_number, - sr_return_quantity, - sr_return_amt, - sr_return_tax, - sr_return_amt_inc_tax, - sr_fee, - sr_return_ship_cost, - sr_refunded_cash, - sr_reversed_charge, - sr_store_credit, - sr_net_loss - from srv - where sr_return_time_sk >= (select floor( max(sr_return_time_sk) * rand()) from srv ) - order by sr_return_time_sk limit 2) --- ======================================================== --- Verify the row can be selected from store_returns: --- ======================================================== +-- ============================================== +-- 288714 +-- be ab 61 0d ae 90 25 86 +-- ============================================== +select count(*) from store_returns; -select - sr.sr_returned_date_sk, - sr.sr_return_time_sk, - sr.sr_item_sk, - sr.sr_customer_sk, - sr.sr_cdemo_sk, - sr.sr_hdemo_sk, - sr.sr_addr_sk, - sr.sr_store_sk, - sr.sr_reason_sk, - sr.sr_ticket_number, - sr.sr_return_quantity, - sr.sr_return_amt, - sr.sr_return_tax, - sr.sr_return_amt_inc_tax, - sr.sr_fee, - sr.sr_return_ship_cost, - sr.sr_refunded_cash, - sr.sr_reversed_charge, - sr.sr_store_credit, - sr.sr_net_loss -from store_returns sr, sr_random -where - sr.sr_returned_date_sk = sr_random.sr_returned_date_sk and - sr.sr_return_time_sk = sr_random.sr_return_time_sk and - sr.sr_item_sk = sr_random.sr_item_sk and - sr.sr_customer_sk = sr_random.sr_customer_sk and - sr.sr_cdemo_sk = sr_random.sr_cdemo_sk and - sr.sr_hdemo_sk = sr_random.sr_hdemo_sk and - sr.sr_addr_sk = sr_random.sr_addr_sk and - sr.sr_store_sk = sr_random.sr_store_sk and - sr.sr_reason_sk = sr_random.sr_reason_sk; +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.sql b/benchmarks/tpc-ds/queries/refresh/verify_LF_SS.sql index 4b6779b9..6eda0837 100644 --- a/benchmarks/tpc-ds/queries/refresh/verify_LF_SS.sql +++ b/benchmarks/tpc-ds/queries/refresh/verify_LF_SS.sql @@ -1,70 +1,37 @@ -- ============================================== --- Fetch two rows randomly from ssv: +-- 2892668 +-- 91 7f 5e 5c 0b 2d 03 72 -- ============================================== -with ss_random as - (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, - ss_quantity, - ss_wholesale_cost, - ss_list_price, - ss_sales_price, - ss_ext_discount_amt, - ss_ext_sales_price, - ss_ext_wholesale_cost, - ss_ext_list_price, - ss_ext_tax, - ss_coupon_amt, - ss_net_paid, - ss_net_paid_inc_tax, - ss_net_profit - from ssv - where ss_sold_time_sk >= (select floor( max(ss_sold_time_sk) * rand()) from ssv ) - order by ss_sold_time_sk limit 2) +select count(*) from store_sales; --- ======================================================== --- Verify the row can be selected from store_sales: --- ======================================================== -select - ss.ss_sold_date_sk, - ss.ss_sold_time_sk, - ss.ss_item_sk, - ss.ss_customer_sk, - ss.ss_cdemo_sk, - ss.ss_hdemo_sk, - ss.ss_addr_sk, - ss.ss_store_sk, - ss.ss_promo_sk, - ss.ss_ticket_number, - ss.ss_quantity, - ss.ss_wholesale_cost, - ss.ss_list_price, - ss.ss_sales_price, - ss.ss_ext_discount_amt, - ss.ss_ext_sales_price, - ss.ss_ext_wholesale_cost, - ss.ss_ext_list_price, - ss.ss_ext_tax, - ss.ss_coupon_amt, - ss.ss_net_paid, - ss.ss_net_paid_inc_tax, - ss.ss_net_profit -from store_sales ss, ss_random -where - ss.ss_sold_date_sk = ss_random.ss_sold_date_sk and - ss.ss_sold_time_sk = ss_random.ss_sold_time_sk and - ss.ss_item_sk = ss_random.ss_item_sk and - ss.ss_customer_sk = ss_random.ss_customer_sk and - ss.ss_cdemo_sk = ss_random.ss_cdemo_sk and - ss.ss_hdemo_sk = ss_random.ss_hdemo_sk and - ss.ss_addr_sk = ss_random.ss_addr_sk and - ss.ss_store_sk = ss_random.ss_store_sk and - ss.ss_promo_sk = ss_random.ss_promo_sk; +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.sql b/benchmarks/tpc-ds/queries/refresh/verify_LF_WR.sql index 3040a790..2068cc0a 100644 --- a/benchmarks/tpc-ds/queries/refresh/verify_LF_WR.sql +++ b/benchmarks/tpc-ds/queries/refresh/verify_LF_WR.sql @@ -1,77 +1,38 @@ -- ============================================== --- Fetch two rows randomly from wrv: +-- 72083 +-- ec 74 b5 fe ad 2c 44 57 -- ============================================== -with wr_random as ( - 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, - wr_return_amt_inc_tax, - wr_fee, - wr_return_ship_cost, - wr_refunded_cash, - wr_reversed_charge, - wr_account_credit, - wr_net_loss - from wrv - where wr_return_time_sk >= (select floor( max(wr_return_time_sk) * rand()) from wrv ) - order by wr_return_time_sk limit 2) +select count(*) from web_returns; --- ======================================================== --- Verify the row can be selected from web_returns: --- ======================================================== - -select - wr.wr_returned_date_sk, - wr.wr_returned_time_sk, - wr.wr_item_sk, - wr.wr_refunded_customer_sk, - wr.wr_refunded_cdemo_sk, - wr.wr_refunded_hdemo_sk, - wr.wr_refunded_addr_sk, - wr.wr_returning_customer_sk, - wr.wr_returning_cdemo_sk, - wr.wr_returning_hdemo_sk, - wr.wr_returning_addr_sk, - wr.wr_web_page_sk, - wr.wr_reason_sk, - wr.wr_order_number, - wr.wr_return_quantity, - wr.wr_return_amt, - wr.wr_return_tax, - wr.wr_return_amt_inc_tax, - wr.wr_fee, - wr.wr_return_ship_cost, - wr.wr_refunded_cash, - wr.wr_reversed_charge, - wr.wr_account_credit, - wr.wr_net_loss -from web_returns wr, wr_random -where - wr.wr_returned_date_sk = wr_random.wr_return_date_sk and - wr.wr_returned_time_sk = wr_random.wr_return_time_sk and - wr.wr_item_sk = wr_random.wr_item_sk and - wr.wr_refunded_customer_sk = wr_random.wr_refunded_customer_sk and - wr.wr_refunded_cdemo_sk = wr_random.wr_refunded_cdemo_sk and - wr.wr_refunded_hdemo_sk = wr_random.wr_refunded_hdemo_sk and - wr.wr_refunded_addr_sk = wr_random.wr_refunded_addr_sk and - wr.wr_returning_customer_sk = wr_random.wr_returning_customer_sk and - wr.wr_returning_cdemo_sk = wr_random.wr_returning_cdemo_sk and - wr.wr_returning_hdemo_sk = wr_random.wr_returning_hdemo_sk and - wr.wr_returning_addr_sk = wr_random.wr_returning_addr_sk and - wr.wr_web_page_sk = wr_random.wr_web_page_sk and - wr.wr_reason_sk = wr_random.wr_reason_sk; +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.sql b/benchmarks/tpc-ds/queries/refresh/verify_LF_WS.sql index 19ad3a15..71e34207 100644 --- a/benchmarks/tpc-ds/queries/refresh/verify_LF_WS.sql +++ b/benchmarks/tpc-ds/queries/refresh/verify_LF_WS.sql @@ -1,102 +1,48 @@ -- ============================================== --- Fetch two rows randomly from wsv: +-- 722456 +-- 28 ec 0b 0b ac 1b fb 1b -- ============================================== -with ws_random as - (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, - ws_quantity, - ws_wholesale_cost, - ws_list_price, - ws_sales_price, - ws_ext_discount_amt, - ws_ext_sales_price, - ws_ext_wholesale_cost, - ws_ext_list_price, - ws_ext_tax, - ws_coupon_amt, - ws_ext_ship_cost, - ws_net_paid, - ws_net_paid_inc_tax, - ws_net_paid_inc_ship, - ws_net_paid_inc_ship_tax, - ws_net_profit - from wsv - where ws_sold_time_sk >= (select floor( max(ws_sold_time_sk) * rand()) from wsv ) - order by ws_sold_time_sk limit 2) +select count(*) from web_sales; - --- ======================================================== --- Verify the row can be selected from web_sales: --- ======================================================== - -select - ws.ws_sold_date_sk, - ws.ws_sold_time_sk, - ws.ws_ship_date_sk, - ws.ws_item_sk, - ws.ws_bill_customer_sk, - ws.ws_bill_cdemo_sk, - ws.ws_bill_hdemo_sk, - ws.ws_bill_addr_sk, - ws.ws_ship_customer_sk, - ws.ws_ship_cdemo_sk, - ws.ws_ship_hdemo_sk, - ws.ws_ship_addr_sk, - ws.ws_web_page_sk, - ws.ws_web_site_sk, - ws.ws_ship_mode_sk, - ws.ws_warehouse_sk, - ws.ws_promo_sk, - ws.ws_order_number, - ws.ws_quantity, - ws.ws_wholesale_cost, - ws.ws_list_price, - ws.ws_sales_price, - ws.ws_ext_discount_amt, - ws.ws_ext_sales_price, - ws.ws_ext_wholesale_cost, - ws.ws_ext_list_price, - ws.ws_ext_tax, - ws.ws_coupon_amt, - ws.ws_ext_ship_cost, - ws.ws_net_paid, - ws.ws_net_paid_inc_tax, - ws.ws_net_paid_inc_ship, - ws.ws_net_paid_inc_ship_tax, - ws.ws_net_profit -from web_sales ws, ws_random -where - ws.ws_sold_date_sk = ws_random.ws_sold_date_sk and - ws.ws_sold_time_sk = ws_random.ws_sold_time_sk and - ws.ws_ship_date_sk = ws_random.ws_ship_date_sk and - ws.ws_item_sk = ws_random.ws_item_sk and - ws.ws_bill_customer_sk = ws_random.ws_bill_customer_sk and - ws.ws_bill_cdemo_sk = ws_random.ws_bill_cdemo_sk and - ws.ws_bill_hdemo_sk = ws_random.ws_bill_hdemo_sk and - ws.ws_bill_addr_sk = ws_random.ws_bill_addr_sk and - ws.ws_ship_customer_sk = ws_random.ws_ship_customer_sk and - ws.ws_ship_cdemo_sk = ws_random.ws_ship_cdemo_sk and - ws.ws_ship_hdemo_sk = ws_random.ws_ship_hdemo_sk and - ws.ws_ship_addr_sk = ws_random.ws_ship_addr_sk and - ws.ws_web_page_sk = ws_random.ws_web_page_sk and - ws.ws_web_site_sk = ws_random.ws_web_site_sk and - ws.ws_ship_mode_sk = ws_random.ws_ship_mode_sk and - ws.ws_warehouse_sk = ws_random.ws_warehouse_sk and - ws.ws_promo_sk = ws_random.ws_promo_sk; +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);