1USE tpch1; 2drop view if exists v_nation; 3Warnings: 4Note 4092 Unknown VIEW: 'tpch1.v_nation' 5drop view if exists v_region; 6Warnings: 7Note 4092 Unknown VIEW: 'tpch1.v_region' 8drop view if exists v_customer; 9Warnings: 10Note 4092 Unknown VIEW: 'tpch1.v_customer' 11drop view if exists v_orders; 12Warnings: 13Note 4092 Unknown VIEW: 'tpch1.v_orders' 14drop view if exists v_supplier; 15Warnings: 16Note 4092 Unknown VIEW: 'tpch1.v_supplier' 17drop view if exists v_partsupp; 18Warnings: 19Note 4092 Unknown VIEW: 'tpch1.v_partsupp' 20drop view if exists v_part; 21Warnings: 22Note 4092 Unknown VIEW: 'tpch1.v_part' 23drop view if exists v_lineitem; 24Warnings: 25Note 4092 Unknown VIEW: 'tpch1.v_lineitem' 26create view v_nation as select * from nation where n_nationkey > 10 union all select * from nation where n_nationkey <= 10; 27create view v_region as select * from region where r_regionkey > 3 union all select * from region where r_regionkey <= 3; 28create view v_customer as select * from customer union all select * from customer where c_custkey=0; 29create view v_orders as select * from orders union all select * from orders where o_orderkey=0; 30create view v_supplier as select * from supplier union all select * from supplier where s_suppkey=0; 31create view v_partsupp as select * from partsupp union all select * from partsupp where ps_partkey=0; 32create view v_part as select * from part union all select * from part where p_partkey=0; 33create view v_lineitem as select * from lineitem union all select * from lineitem where l_orderkey=0; 34drop procedure if exists ordersColumnsTouched; 35Warnings: 36Note 1305 PROCEDURE tpch1.ordersColumnsTouched does not exist 37drop procedure if exists lineitemColumnsTouched; 38Warnings: 39Note 1305 PROCEDURE tpch1.lineitemColumnsTouched does not exist 40drop procedure if exists customerColumnsTouched; 41Warnings: 42Note 1305 PROCEDURE tpch1.customerColumnsTouched does not exist 43drop procedure if exists supplierColumnsTouched; 44Warnings: 45Note 1305 PROCEDURE tpch1.supplierColumnsTouched does not exist 46drop procedure if exists partColumnsTouched; 47Warnings: 48Note 1305 PROCEDURE tpch1.partColumnsTouched does not exist 49drop procedure if exists partsuppColumnsTouched; 50Warnings: 51Note 1305 PROCEDURE tpch1.partsuppColumnsTouched does not exist 52drop procedure if exists regionColumnsTouched; 53Warnings: 54Note 1305 PROCEDURE tpch1.regionColumnsTouched does not exist 55drop procedure if exists nationColumnsTouched; 56Warnings: 57Note 1305 PROCEDURE tpch1.nationColumnsTouched does not exist 58drop procedure if exists eliminatedBlocksGE; 59Warnings: 60Note 1305 PROCEDURE tpch1.eliminatedBlocksGE does not exist 61create procedure ordersColumnsTouched (in trace varchar(10000)) BEGIN 62select locate('o_orderkey', trace) > 0 as o_orderkey_accessed; 63select locate('o_custkey', trace) > 0 as o_custkey_accessed; 64select locate('o_orderstatus', trace) > 0 as o_orderstatus_accessed; 65select locate('o_totalprice', trace) > 0 as o_totalprice_accessed; 66select locate('o_orderdate', trace) > 0 as o_orderdate_accessed; 67select locate('o_orderpriority', trace) > 0 as o_orderpriority_accessed; 68select locate('o_clerk', trace) > 0 as o_clerk_accessed; 69select locate('o_shippriority', trace) > 0 as o_shippriority_accessed; 70select locate('o_comment', trace) > 0 as o_comment_accessed; 71END // 72create procedure lineitemColumnsTouched (in trace varchar(10000)) BEGIN 73select locate('l_orderkey', trace) > 0 as l_orderkey_accessed; 74select locate('l_partkey', trace) > 0 as l_partkey_accessed; 75select locate('l_suppkey', trace) > 0 as l_suppkey_accessed; 76select locate('l_linenumber', trace) > 0 as l_linenumber_accessed; 77select locate('l_quantity', trace) > 0 as l_quantity_accessed; 78select locate('l_extendedprice', trace) > 0 as l_extendedprice_accessed; 79select locate('l_discount', trace) > 0 as l_discount_accessed; 80select locate('l_tax', trace) > 0 as l_tax_accessed; 81select locate('l_returnflag', trace) > 0 as l_returnflag_accessed; 82select locate('l_linestatus', trace) > 0 as l_linestatus_accessed; 83select locate('l_shipdate', trace) > 0 as l_shipdate_accessed; 84select locate('l_commitdate', trace) > 0 as l_commitdate_accessed; 85select locate('l_receiptdate', trace) > 0 as l_receiptdate_accessed; 86select locate('l_shipinstruct', trace) > 0 as l_shipinstruct_accessed; 87select locate('l_shipmode', trace) > 0 as l_shipmode_accessed; 88select locate('l_comment', trace) > 0 as l_comment_accessed; 89END // 90create procedure customerColumnsTouched (in trace varchar(10000)) BEGIN 91select locate('c_custkey', trace) > 0 as c_custkey_accessed; 92select locate('c_name', trace) > 0 as c_name_accessed; 93select locate('c_address', trace) > 0 as c_address_accessed; 94select locate('c_nationkey', trace) > 0 as c_nationkey_accessed; 95select locate('c_phone', trace) > 0 as c_phone_accessed; 96select locate('c_acctbal', trace) > 0 as c_acctbal_accessed; 97select locate('c_mktsegment', trace) > 0 as c_mktsegment_accessed; 98select locate('c_comment', trace) > 0 as c_comment_accessed; 99END // 100create procedure partColumnsTouched (in trace varchar(10000)) BEGIN 101select locate('p_partkey', trace) > 0 as p_partkey_accessed; 102select locate('p_name', trace) > 0 as p_name_accessed; 103select locate('p_mfgr', trace) > 0 as p_mfgr_accessed; 104select locate('p_brand', trace) > 0 as p_brand_accessed; 105select locate('p_type', trace) > 0 as p_type_accessed; 106select locate('p_size', trace) > 0 as p_size_accessed; 107select locate('p_container', trace) > 0 as p_container_accessed; 108select locate('p_retailprice', trace) > 0 as p_retailprice_accessed; 109select locate('p_comment', trace) > 0 as p_comment_accessed; 110END // 111create procedure partsuppColumnsTouched (in trace varchar(10000)) BEGIN 112select locate('ps_partkey', trace) > 0 as ps_partkey_accessed; 113select locate('ps_suppkey', trace) > 0 as ps_suppkey_accessed; 114select locate('ps_availqty', trace) > 0 as ps_availqty_accessed; 115select locate('ps_supplycost', trace) > 0 as ps_supplycost_accessed; 116select locate('ps_comment', trace) > 0 as ps_comment_accessed; 117END // 118create procedure supplierColumnsTouched (in trace varchar(10000)) BEGIN 119select locate('s_suppkey', trace) > 0 as s_suppkey_accessed; 120select locate('s_name', trace) > 0 as s_name_accessed; 121select locate('s_address', trace) > 0 as s_address_accessed; 122select locate('s_nationkey', trace) > 0 as s_nationkey_accessed; 123select locate('s_phone', trace) > 0 as s_phone_accessed; 124select locate('s_acctbal', trace) > 0 as s_acctbal_accessed; 125select locate('s_comment', trace) > 0 as s_comment_accessed; 126END // 127create procedure nationColumnsTouched (in trace varchar(10000)) BEGIN 128select locate('n_nationkey', trace) > 0 as n_nationkey_accessed; 129select locate('n_name', trace) > 0 as n_name_accessed; 130select locate('n_regionkey', trace) > 0 as n_regionkey_accessed; 131select locate('n_comment', trace) > 0 as n_comment_accessed; 132END // 133create procedure regionColumnsTouched (in trace varchar(10000)) BEGIN 134select locate('r_regionkey', trace) > 0 as r_regionkey_accessed; 135select locate('r_name', trace) > 0 as r_name_accessed; 136select locate('r_comment', trace) > 0 as r_comment_accessed; 137END // 138create procedure eliminatedBlocksGE(in blocks int) BEGIN 139select calgetstats() into @stats; 140select substr(@stats, locate('PartitionBlocksEliminated', @stats)+26, 999) into @temp; 141select substr(@temp, 1, locate(';', @temp)-1) into @blocksEliminated; 142select concat('Blocks eliminated ', if(@blocksEliminated >= blocks, 'is ', 'is not '), 'greater than or equal to ', blocks, '.') as 'CP Result'; 143END // 144select count(*) as lineitem_count from lineitem; 145lineitem_count 1466001215 147select count(*) as v_lineitem_count from v_lineitem; 148v_lineitem_count 1496001215 150select count(*) as orders_count from orders; 151orders_count 1521500000 153select count(*) as v_orders_count from v_orders; 154v_orders_count 1551500000 156select count(*) as part_count from part; 157part_count 158200000 159select count(*) as v_part_count from v_part; 160v_part_count 161200000 162select count(*) as partsupp_count from partsupp; 163partsupp_count 164800000 165select count(*) as v_partsupp_count from v_partsupp; 166v_partsupp_count 167800000 168select count(*) as customer_count from customer; 169customer_count 170150000 171select count(*) as v_customer_count from v_customer; 172v_customer_count 173150000 174select count(*) as supplier_count from supplier; 175supplier_count 17610000 177select count(*) as v_supplier_count from v_supplier; 178v_supplier_count 17910000 180select count(*) as region_count from region; 181region_count 1825 183select count(*) as v_region_count from v_region; 184v_region_count 1855 186select count(*) as nation_count from nation; 187nation_count 18825 189select count(*) as v_nation_count from v_nation; 190v_nation_count 19125 192drop view if exists v_nation; 193drop view if exists v_region; 194drop view if exists v_customer; 195drop view if exists v_orders; 196drop view if exists v_supplier; 197drop view if exists v_partsupp; 198drop view if exists v_part; 199drop view if exists v_lineitem; 200drop procedure if exists ordersColumnsTouched; 201drop procedure if exists lineitemColumnsTouched; 202drop procedure if exists customerColumnsTouched; 203drop procedure if exists supplierColumnsTouched; 204drop procedure if exists partColumnsTouched; 205drop procedure if exists partsuppColumnsTouched; 206drop procedure if exists regionColumnsTouched; 207drop procedure if exists nationColumnsTouched; 208drop procedure if exists eliminatedBlocksGE; 209