Skip to content

Commit 577576c

Browse files
author
Y-Wakuta
committed
update workload files
1 parent 1115b6c commit 577576c

14 files changed

+656
-3018
lines changed
Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,156 @@
1+
# frozen_string_literal: true
2+
3+
4+
NoSE::TimeDependWorkload.new do
5+
#Model 'tpch'
6+
Model 'tpch_card'
7+
8+
def step_freq(start_ratio, end_ratio, timesteps)
9+
timesteps -= 1
10+
middle_ts = timesteps / 2
11+
(0..timesteps).map do |current_ts|
12+
current_ts <= middle_ts ? start_ratio : end_ratio
13+
end
14+
end
15+
16+
step = step_freq(0.001, 0.999, 10)
17+
18+
frequencies = step
19+
20+
TimeSteps frequencies.size
21+
Interval 7200 # specify interval in minutes
22+
#Static true
23+
#FirstTs true
24+
#LastTs true
25+
26+
Group 'Even', default: frequencies.reverse do
27+
28+
Q 'SELECT ps_suppkey.s_acctbal, ps_suppkey.s_name, s_nationkey.n_name, part.p_partkey, part.p_mfgr, '\
29+
'ps_suppkey.s_address, ps_suppkey.s_phone, ps_suppkey.s_comment ' \
30+
'FROM part.from_partsupp.ps_suppkey.s_nationkey.n_regionkey ' \
31+
'WHERE part.p_size = ? AND part.p_type = ? AND n_regionkey.r_name = ? AND from_partsupp.ps_supplycost = ? '\
32+
'ORDER BY ps_suppkey.s_acctbal, s_nationkey.n_name, ps_suppkey.s_name -- Q2_outer'
33+
34+
## # TODO: this query originaly SELECTs min(partsupp.ps_supplycost). I need to add 'min' feature like 'max'.
35+
Q 'SELECT max(partsupp.ps_supplycost) FROM partsupp.ps_suppkey.s_nationkey.n_regionkey '\
36+
'WHERE n_regionkey.r_name = ? -- Q2_inner'
37+
38+
Q 'SELECT l_orderkey.o_orderdate, sum(from_lineitem.l_extendedprice), sum(from_lineitem.l_discount) '\
39+
'FROM part.from_partsupp.from_lineitem.l_orderkey.o_custkey.c_nationkey.n_regionkey ' \
40+
'WHERE c_nationkey.n_name = ? AND n_regionkey.r_name = ? AND part.p_type = ? AND l_orderkey.o_orderdate < ? ' \
41+
'ORDER BY l_orderkey.o_orderdate ' \
42+
'GROUP BY l_orderkey.o_orderdate -- Q8'
43+
44+
Q 'SELECT o_custkey.c_custkey, o_custkey.c_name, '\
45+
'sum(lineitem.l_extendedprice), sum(lineitem.l_discount), '\
46+
'o_custkey.c_acctbal, c_nationkey.n_name, '\
47+
'o_custkey.c_address, o_custkey.c_phone, o_custkey.c_comment '\
48+
'FROM lineitem.l_orderkey.o_custkey.c_nationkey '\
49+
'WHERE lineitem.l_returnflag = ? AND l_orderkey.o_orderdate < ? '\
50+
'ORDER BY lineitem.l_extendedprice, lineitem.l_discount ' \
51+
'GROUP BY o_custkey.c_custkey, o_custkey.c_name, o_custkey.c_acctbal, o_custkey.c_phone, c_nationkey.n_name, o_custkey.c_address, o_custkey.c_comment -- Q10'
52+
53+
Q 'SELECT lineitem.l_shipmode, sum(l_orderkey.o_orderpriority) '\
54+
'FROM lineitem.l_orderkey '\
55+
'WHERE lineitem.l_shipmode = ? AND lineitem.l_receiptdate < ? ' \
56+
'ORDER BY lineitem.l_shipmode ' \
57+
'GROUP BY lineitem.l_shipmode -- Q12'
58+
59+
Q 'SELECT sum(ps_partkey.p_type), sum(from_lineitem.l_extendedprice), sum(from_lineitem.l_discount) '\
60+
'FROM orders.from_lineitem.l_partkey.ps_partkey '\
61+
'WHERE orders.o_orderkey = ? AND from_lineitem.l_shipdate < ? -- Q14'
62+
63+
Q 'SELECT supplier.s_suppkey FROM supplier WHERE supplier.s_comment = ? -- Q16_inner'
64+
Q 'SELECT ps_partkey.p_brand, ps_partkey.p_type, ps_partkey.p_size, count(supplier.s_suppkey) ' \
65+
'FROM supplier.from_partsupp.ps_partkey ' \
66+
'WHERE ps_partkey.p_brand = ? AND ps_partkey.p_type = ? AND ps_partkey.p_size = ? AND supplier.s_suppkey = ? ' \
67+
'ORDER BY ps_partkey.p_brand, ps_partkey.p_type, ps_partkey.p_size ' \
68+
'GROUP BY ps_partkey.p_brand, ps_partkey.p_type, ps_partkey.p_size -- Q16_outer'
69+
70+
#Q 'SELECT lineitem.l_orderkey FROM lineitem ' \
71+
# 'WHERE lineitem.dummy = ? AND lineitem.l_quantity > ? ' \
72+
# 'GROUP BY lineitem.l_orderkey -- Q18_inner'
73+
Q 'SELECT o_custkey.c_name, o_custkey.c_custkey, l_orderkey.o_orderkey, ' \
74+
'l_orderkey.o_orderdate, l_orderkey.o_totalprice, sum(lineitem.l_quantity) ' \
75+
'FROM lineitem.l_orderkey.o_custkey ' \
76+
'WHERE l_orderkey.o_orderkey = ? ' \
77+
'ORDER BY l_orderkey.o_totalprice, l_orderkey.o_orderdate ' \
78+
'GROUP BY o_custkey.c_name, o_custkey.c_custkey, l_orderkey.o_orderkey, l_orderkey.o_orderdate, l_orderkey.o_totalprice -- Q18_outer'
79+
80+
Q 'SELECT part.p_partkey FROM part WHERE part.p_name = ? -- Q20_inner_inner_1'
81+
#Q 'SELECT sum(lineitem.l_quantity) FROM lineitem WHERE lineitem.dummy = ? AND lineitem.l_shipdate > ? -- Q20_inner_inner_2'
82+
Q 'SELECT partsupp.ps_suppkey FROM partsupp WHERE partsupp.ps_partkey = ? AND partsupp.ps_availqty > ? -- Q20_inner'
83+
Q 'SELECT supplier.s_name, supplier.s_address ' \
84+
'FROM supplier.s_nationkey ' \
85+
'WHERE supplier.s_suppkey = ? AND s_nationkey.n_name = ? ' \
86+
'ORDER BY supplier.s_name -- Q20'
87+
88+
Q 'SELECT avg(customer.c_acctbal) FROM customer ' \
89+
'WHERE customer.c_phone = ? AND customer.c_acctbal > ? -- Q22_inner_inner'
90+
Q 'SELECT customer.c_phone, sum(customer.c_acctbal), count(customer.c_custkey) ' \
91+
'FROM customer ' \
92+
'WHERE customer.c_phone = ? AND customer.c_custkey = ? AND customer.c_acctbal > ? ' \
93+
'ORDER BY customer.c_phone ' \
94+
'GROUP BY customer.c_phone -- Q22'
95+
end
96+
97+
Group 'Odd', default: frequencies do
98+
Q 'SELECT l_orderkey.o_orderkey, sum(lineitem.l_extendedprice), sum(lineitem.l_discount), l_orderkey.o_orderdate, l_orderkey.o_shippriority '\
99+
'FROM lineitem.l_orderkey.o_custkey '\
100+
'WHERE o_custkey.c_mktsegment = ? AND lineitem.l_shipdate > ? '\
101+
'ORDER BY lineitem.l_extendedprice, lineitem.l_discount, l_orderkey.o_orderdate ' \
102+
'GROUP BY l_orderkey.o_orderkey, l_orderkey.o_orderdate, l_orderkey.o_shippriority -- Q3'
103+
104+
Q 'SELECT c_nationkey.n_name, sum(lineitem.l_extendedprice), sum(lineitem.l_discount) ' \
105+
'FROM lineitem.l_orderkey.o_custkey.c_nationkey.n_regionkey ' \
106+
'WHERE n_regionkey.r_name = ? AND l_orderkey.o_orderdate < ? ' \
107+
'ORDER BY lineitem.l_extendedprice, lineitem.l_discount ' \
108+
'GROUP BY c_nationkey.n_name -- Q5'
109+
110+
Q 'SELECT c_nationkey.n_name, lineitem.l_shipdate, '\
111+
'sum(lineitem.l_extendedprice), sum(lineitem.l_discount) ' \
112+
'FROM lineitem.l_orderkey.o_custkey.c_nationkey '\
113+
'WHERE c_nationkey.n_name = ? '\
114+
'AND lineitem.l_shipdate < ? ' \
115+
'ORDER BY c_nationkey.n_name, lineitem.l_shipdate ' \
116+
'GROUP BY c_nationkey.n_name, lineitem.l_shipdate -- Q7'
117+
118+
Q 'SELECT c_nationkey.n_name, l_orderkey.o_orderdate, sum(from_lineitem.l_extendedprice), sum(from_lineitem.l_discount), ' \
119+
'sum(from_partsupp.ps_supplycost), sum(from_lineitem.l_quantity) ' \
120+
'FROM part.from_partsupp.from_lineitem.l_orderkey.o_custkey.c_nationkey ' \
121+
'WHERE part.p_name = ? AND l_orderkey.o_orderkey = ? ' \
122+
'ORDER BY c_nationkey.n_name, l_orderkey.o_orderdate ' \
123+
'GROUP BY c_nationkey.n_name, l_orderkey.o_orderdate -- Q9'
124+
125+
Q 'SELECT sum(partsupp.ps_supplycost), sum(partsupp.ps_availqty) ' \
126+
'FROM partsupp.ps_suppkey.s_nationkey '\
127+
'WHERE s_nationkey.n_name = ? AND partsupp.ps_supplycost = ? AND partsupp.ps_availqty = ? '\
128+
'ORDER BY partsupp.ps_supplycost, partsupp.ps_availqty ' \
129+
'GROUP BY partsupp.ps_partkey -- Q11_outer'
130+
131+
Q 'SELECT sum(partsupp.ps_supplycost), sum(partsupp.ps_availqty) '\
132+
'FROM partsupp.ps_suppkey.s_nationkey '\
133+
'WHERE s_nationkey.n_name = ? -- Q11_inner'
134+
135+
Q 'SELECT o_custkey.c_custkey, count(orders.o_orderkey) ' \
136+
'FROM orders.o_custkey ' \
137+
'WHERE orders.o_comment = ? ' \
138+
'GROUP BY o_custkey.c_custkey, orders.o_orderkey -- Q13'
139+
140+
Q 'SELECT sum(lineitem.l_extendedprice) ' \
141+
'FROM lineitem.l_partkey.ps_partkey ' \
142+
'WHERE ps_partkey.p_brand = ? AND ps_partkey.p_container = ? AND lineitem.l_quantity < ? -- Q17'
143+
144+
Q 'SELECT sum(lineitem.l_extendedprice), sum(lineitem.l_discount) ' \
145+
'FROM lineitem.l_partkey.ps_partkey ' \
146+
'WHERE ps_partkey.p_brand = ? AND ps_partkey.p_container = ? AND lineitem.l_shipdate = ? AND lineitem.l_shipinstruct = ? ' \
147+
'AND ps_partkey.p_size > ? -- Q19'
148+
149+
Q 'SELECT ps_suppkey.s_name, count(orders.o_orderkey) ' \
150+
'FROM orders.from_lineitem.l_partkey.ps_suppkey.s_nationkey ' \
151+
'WHERE orders.o_orderstatus = ? AND orders.o_orderkey = ? AND s_nationkey.n_name = ? '\
152+
'AND from_lineitem.l_receiptdate > ? ' \
153+
'ORDER BY ps_suppkey.s_name ' \
154+
'GROUP BY ps_suppkey.s_name -- Q21'
155+
end
156+
end
Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,156 @@
1+
# frozen_string_literal: true
2+
3+
4+
NoSE::TimeDependWorkload.new do
5+
#Model 'tpch'
6+
Model 'tpch_card'
7+
8+
def step_freq(start_ratio, end_ratio, timesteps)
9+
timesteps -= 1
10+
middle_ts = timesteps / 2
11+
(0..timesteps).map do |current_ts|
12+
current_ts <= middle_ts ? start_ratio : end_ratio
13+
end
14+
end
15+
16+
step = step_freq(0.001, 0.999, 2)
17+
18+
frequencies = step
19+
20+
TimeSteps frequencies.size
21+
Interval 7200 # specify interval in minutes
22+
#Static true
23+
#FirstTs true
24+
#LastTs true
25+
26+
Group 'Even', default: frequencies.reverse do
27+
28+
Q 'SELECT ps_suppkey.s_acctbal, ps_suppkey.s_name, s_nationkey.n_name, part.p_partkey, part.p_mfgr, '\
29+
'ps_suppkey.s_address, ps_suppkey.s_phone, ps_suppkey.s_comment ' \
30+
'FROM part.from_partsupp.ps_suppkey.s_nationkey.n_regionkey ' \
31+
'WHERE part.p_size = ? AND part.p_type = ? AND n_regionkey.r_name = ? AND from_partsupp.ps_supplycost = ? '\
32+
'ORDER BY ps_suppkey.s_acctbal, s_nationkey.n_name, ps_suppkey.s_name -- Q2_outer'
33+
34+
## # TODO: this query originaly SELECTs min(partsupp.ps_supplycost). I need to add 'min' feature like 'max'.
35+
Q 'SELECT max(partsupp.ps_supplycost) FROM partsupp.ps_suppkey.s_nationkey.n_regionkey '\
36+
'WHERE n_regionkey.r_name = ? -- Q2_inner'
37+
38+
Q 'SELECT l_orderkey.o_orderdate, sum(from_lineitem.l_extendedprice), sum(from_lineitem.l_discount) '\
39+
'FROM part.from_partsupp.from_lineitem.l_orderkey.o_custkey.c_nationkey.n_regionkey ' \
40+
'WHERE c_nationkey.n_name = ? AND n_regionkey.r_name = ? AND part.p_type = ? AND l_orderkey.o_orderdate < ? ' \
41+
'ORDER BY l_orderkey.o_orderdate ' \
42+
'GROUP BY l_orderkey.o_orderdate -- Q8'
43+
44+
Q 'SELECT o_custkey.c_custkey, o_custkey.c_name, '\
45+
'sum(lineitem.l_extendedprice), sum(lineitem.l_discount), '\
46+
'o_custkey.c_acctbal, c_nationkey.n_name, '\
47+
'o_custkey.c_address, o_custkey.c_phone, o_custkey.c_comment '\
48+
'FROM lineitem.l_orderkey.o_custkey.c_nationkey '\
49+
'WHERE lineitem.l_returnflag = ? AND l_orderkey.o_orderdate < ? '\
50+
'ORDER BY lineitem.l_extendedprice, lineitem.l_discount ' \
51+
'GROUP BY o_custkey.c_custkey, o_custkey.c_name, o_custkey.c_acctbal, o_custkey.c_phone, c_nationkey.n_name, o_custkey.c_address, o_custkey.c_comment -- Q10'
52+
53+
Q 'SELECT lineitem.l_shipmode, sum(l_orderkey.o_orderpriority) '\
54+
'FROM lineitem.l_orderkey '\
55+
'WHERE lineitem.l_shipmode = ? AND lineitem.l_receiptdate < ? ' \
56+
'ORDER BY lineitem.l_shipmode ' \
57+
'GROUP BY lineitem.l_shipmode -- Q12'
58+
59+
Q 'SELECT sum(ps_partkey.p_type), sum(from_lineitem.l_extendedprice), sum(from_lineitem.l_discount) '\
60+
'FROM orders.from_lineitem.l_partkey.ps_partkey '\
61+
'WHERE orders.o_orderkey = ? AND from_lineitem.l_shipdate < ? -- Q14'
62+
63+
Q 'SELECT supplier.s_suppkey FROM supplier WHERE supplier.s_comment = ? -- Q16_inner'
64+
Q 'SELECT ps_partkey.p_brand, ps_partkey.p_type, ps_partkey.p_size, count(supplier.s_suppkey) ' \
65+
'FROM supplier.from_partsupp.ps_partkey ' \
66+
'WHERE ps_partkey.p_brand = ? AND ps_partkey.p_type = ? AND ps_partkey.p_size = ? AND supplier.s_suppkey = ? ' \
67+
'ORDER BY ps_partkey.p_brand, ps_partkey.p_type, ps_partkey.p_size ' \
68+
'GROUP BY ps_partkey.p_brand, ps_partkey.p_type, ps_partkey.p_size -- Q16_outer'
69+
70+
#Q 'SELECT lineitem.l_orderkey FROM lineitem ' \
71+
# 'WHERE lineitem.dummy = ? AND lineitem.l_quantity > ? ' \
72+
# 'GROUP BY lineitem.l_orderkey -- Q18_inner'
73+
Q 'SELECT o_custkey.c_name, o_custkey.c_custkey, l_orderkey.o_orderkey, ' \
74+
'l_orderkey.o_orderdate, l_orderkey.o_totalprice, sum(lineitem.l_quantity) ' \
75+
'FROM lineitem.l_orderkey.o_custkey ' \
76+
'WHERE l_orderkey.o_orderkey = ? ' \
77+
'ORDER BY l_orderkey.o_totalprice, l_orderkey.o_orderdate ' \
78+
'GROUP BY o_custkey.c_name, o_custkey.c_custkey, l_orderkey.o_orderkey, l_orderkey.o_orderdate, l_orderkey.o_totalprice -- Q18_outer'
79+
80+
Q 'SELECT part.p_partkey FROM part WHERE part.p_name = ? -- Q20_inner_inner_1'
81+
#Q 'SELECT sum(lineitem.l_quantity) FROM lineitem WHERE lineitem.dummy = ? AND lineitem.l_shipdate > ? -- Q20_inner_inner_2'
82+
Q 'SELECT partsupp.ps_suppkey FROM partsupp WHERE partsupp.ps_partkey = ? AND partsupp.ps_availqty > ? -- Q20_inner'
83+
Q 'SELECT supplier.s_name, supplier.s_address ' \
84+
'FROM supplier.s_nationkey ' \
85+
'WHERE supplier.s_suppkey = ? AND s_nationkey.n_name = ? ' \
86+
'ORDER BY supplier.s_name -- Q20'
87+
88+
Q 'SELECT avg(customer.c_acctbal) FROM customer ' \
89+
'WHERE customer.c_phone = ? AND customer.c_acctbal > ? -- Q22_inner_inner'
90+
Q 'SELECT customer.c_phone, sum(customer.c_acctbal), count(customer.c_custkey) ' \
91+
'FROM customer ' \
92+
'WHERE customer.c_phone = ? AND customer.c_custkey = ? AND customer.c_acctbal > ? ' \
93+
'ORDER BY customer.c_phone ' \
94+
'GROUP BY customer.c_phone -- Q22'
95+
end
96+
97+
Group 'Odd', default: frequencies do
98+
Q 'SELECT l_orderkey.o_orderkey, sum(lineitem.l_extendedprice), sum(lineitem.l_discount), l_orderkey.o_orderdate, l_orderkey.o_shippriority '\
99+
'FROM lineitem.l_orderkey.o_custkey '\
100+
'WHERE o_custkey.c_mktsegment = ? AND lineitem.l_shipdate > ? '\
101+
'ORDER BY lineitem.l_extendedprice, lineitem.l_discount, l_orderkey.o_orderdate ' \
102+
'GROUP BY l_orderkey.o_orderkey, l_orderkey.o_orderdate, l_orderkey.o_shippriority -- Q3'
103+
104+
Q 'SELECT c_nationkey.n_name, sum(lineitem.l_extendedprice), sum(lineitem.l_discount) ' \
105+
'FROM lineitem.l_orderkey.o_custkey.c_nationkey.n_regionkey ' \
106+
'WHERE n_regionkey.r_name = ? AND l_orderkey.o_orderdate < ? ' \
107+
'ORDER BY lineitem.l_extendedprice, lineitem.l_discount ' \
108+
'GROUP BY c_nationkey.n_name -- Q5'
109+
110+
Q 'SELECT c_nationkey.n_name, lineitem.l_shipdate, '\
111+
'sum(lineitem.l_extendedprice), sum(lineitem.l_discount) ' \
112+
'FROM lineitem.l_orderkey.o_custkey.c_nationkey '\
113+
'WHERE c_nationkey.n_name = ? '\
114+
'AND lineitem.l_shipdate < ? ' \
115+
'ORDER BY c_nationkey.n_name, lineitem.l_shipdate ' \
116+
'GROUP BY c_nationkey.n_name, lineitem.l_shipdate -- Q7'
117+
118+
Q 'SELECT c_nationkey.n_name, l_orderkey.o_orderdate, sum(from_lineitem.l_extendedprice), sum(from_lineitem.l_discount), ' \
119+
'sum(from_partsupp.ps_supplycost), sum(from_lineitem.l_quantity) ' \
120+
'FROM part.from_partsupp.from_lineitem.l_orderkey.o_custkey.c_nationkey ' \
121+
'WHERE part.p_name = ? AND l_orderkey.o_orderkey = ? ' \
122+
'ORDER BY c_nationkey.n_name, l_orderkey.o_orderdate ' \
123+
'GROUP BY c_nationkey.n_name, l_orderkey.o_orderdate -- Q9'
124+
125+
Q 'SELECT sum(partsupp.ps_supplycost), sum(partsupp.ps_availqty) ' \
126+
'FROM partsupp.ps_suppkey.s_nationkey '\
127+
'WHERE s_nationkey.n_name = ? AND partsupp.ps_supplycost = ? AND partsupp.ps_availqty = ? '\
128+
'ORDER BY partsupp.ps_supplycost, partsupp.ps_availqty ' \
129+
'GROUP BY partsupp.ps_partkey -- Q11_outer'
130+
131+
Q 'SELECT sum(partsupp.ps_supplycost), sum(partsupp.ps_availqty) '\
132+
'FROM partsupp.ps_suppkey.s_nationkey '\
133+
'WHERE s_nationkey.n_name = ? -- Q11_inner'
134+
135+
Q 'SELECT o_custkey.c_custkey, count(orders.o_orderkey) ' \
136+
'FROM orders.o_custkey ' \
137+
'WHERE orders.o_comment = ? ' \
138+
'GROUP BY o_custkey.c_custkey, orders.o_orderkey -- Q13'
139+
140+
Q 'SELECT sum(lineitem.l_extendedprice) ' \
141+
'FROM lineitem.l_partkey.ps_partkey ' \
142+
'WHERE ps_partkey.p_brand = ? AND ps_partkey.p_container = ? AND lineitem.l_quantity < ? -- Q17'
143+
144+
Q 'SELECT sum(lineitem.l_extendedprice), sum(lineitem.l_discount) ' \
145+
'FROM lineitem.l_partkey.ps_partkey ' \
146+
'WHERE ps_partkey.p_brand = ? AND ps_partkey.p_container = ? AND lineitem.l_shipdate = ? AND lineitem.l_shipinstruct = ? ' \
147+
'AND ps_partkey.p_size > ? -- Q19'
148+
149+
Q 'SELECT ps_suppkey.s_name, count(orders.o_orderkey) ' \
150+
'FROM orders.from_lineitem.l_partkey.ps_suppkey.s_nationkey ' \
151+
'WHERE orders.o_orderstatus = ? AND orders.o_orderkey = ? AND s_nationkey.n_name = ? '\
152+
'AND from_lineitem.l_receiptdate > ? ' \
153+
'ORDER BY ps_suppkey.s_name ' \
154+
'GROUP BY ps_suppkey.s_name -- Q21'
155+
end
156+
end

0 commit comments

Comments
 (0)