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