Skip to content
This repository was archived by the owner on Jan 7, 2025. It is now read-only.

Commit e0e8d04

Browse files
committed
test: add test file for TPC-H Q8
Signed-off-by: Alex Chi <[email protected]>
1 parent be0177f commit e0e8d04

File tree

1 file changed

+139
-0
lines changed

1 file changed

+139
-0
lines changed

tpch/test.sql

+139
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
CREATE TABLE NATION (
2+
N_NATIONKEY INT NOT NULL,
3+
N_NAME CHAR(25) NOT NULL,
4+
N_REGIONKEY INT NOT NULL,
5+
N_COMMENT VARCHAR(152)
6+
);
7+
8+
CREATE TABLE REGION (
9+
R_REGIONKEY INT NOT NULL,
10+
R_NAME CHAR(25) NOT NULL,
11+
R_COMMENT VARCHAR(152)
12+
);
13+
14+
CREATE TABLE PART (
15+
P_PARTKEY INT NOT NULL,
16+
P_NAME VARCHAR(55) NOT NULL,
17+
P_MFGR CHAR(25) NOT NULL,
18+
P_BRAND CHAR(10) NOT NULL,
19+
P_TYPE VARCHAR(25) NOT NULL,
20+
P_SIZE INT NOT NULL,
21+
P_CONTAINER CHAR(10) NOT NULL,
22+
P_RETAILPRICE DECIMAL(15,2) NOT NULL,
23+
P_COMMENT VARCHAR(23) NOT NULL
24+
);
25+
26+
CREATE TABLE SUPPLIER (
27+
S_SUPPKEY INT NOT NULL,
28+
S_NAME CHAR(25) NOT NULL,
29+
S_ADDRESS VARCHAR(40) NOT NULL,
30+
S_NATIONKEY INT NOT NULL,
31+
S_PHONE CHAR(15) NOT NULL,
32+
S_ACCTBAL DECIMAL(15,2) NOT NULL,
33+
S_COMMENT VARCHAR(101) NOT NULL
34+
);
35+
36+
CREATE TABLE PARTSUPP (
37+
PS_PARTKEY INT NOT NULL,
38+
PS_SUPPKEY INT NOT NULL,
39+
PS_AVAILQTY INT NOT NULL,
40+
PS_SUPPLYCOST DECIMAL(15,2) NOT NULL,
41+
PS_COMMENT VARCHAR(199) NOT NULL
42+
);
43+
44+
CREATE TABLE CUSTOMER (
45+
C_CUSTKEY INT NOT NULL,
46+
C_NAME VARCHAR(25) NOT NULL,
47+
C_ADDRESS VARCHAR(40) NOT NULL,
48+
C_NATIONKEY INT NOT NULL,
49+
C_PHONE CHAR(15) NOT NULL,
50+
C_ACCTBAL DECIMAL(15,2) NOT NULL,
51+
C_MKTSEGMENT CHAR(10) NOT NULL,
52+
C_COMMENT VARCHAR(117) NOT NULL
53+
);
54+
55+
CREATE TABLE ORDERS (
56+
O_ORDERKEY INT NOT NULL,
57+
O_CUSTKEY INT NOT NULL,
58+
O_ORDERSTATUS CHAR(1) NOT NULL,
59+
O_TOTALPRICE DECIMAL(15,2) NOT NULL,
60+
O_ORDERDATE DATE NOT NULL,
61+
O_ORDERPRIORITY CHAR(15) NOT NULL,
62+
O_CLERK CHAR(15) NOT NULL,
63+
O_SHIPPRIORITY INT NOT NULL,
64+
O_COMMENT VARCHAR(79) NOT NULL
65+
);
66+
67+
CREATE TABLE LINEITEM (
68+
L_ORDERKEY INT NOT NULL,
69+
L_PARTKEY INT NOT NULL,
70+
L_SUPPKEY INT NOT NULL,
71+
L_LINENUMBER INT NOT NULL,
72+
L_QUANTITY DECIMAL(15,2) NOT NULL,
73+
L_EXTENDEDPRICE DECIMAL(15,2) NOT NULL,
74+
L_DISCOUNT DECIMAL(15,2) NOT NULL,
75+
L_TAX DECIMAL(15,2) NOT NULL,
76+
L_RETURNFLAG CHAR(1) NOT NULL,
77+
L_LINESTATUS CHAR(1) NOT NULL,
78+
L_SHIPDATE DATE NOT NULL,
79+
L_COMMITDATE DATE NOT NULL,
80+
L_RECEIPTDATE DATE NOT NULL,
81+
L_SHIPINSTRUCT CHAR(25) NOT NULL,
82+
L_SHIPMODE CHAR(10) NOT NULL,
83+
L_COMMENT VARCHAR(44) NOT NULL
84+
);
85+
86+
CREATE EXTERNAL TABLE customer_tbl STORED AS CSV DELIMITER '|' LOCATION 'tpch/customer.tbl';
87+
insert into customer select column_1, column_2, column_3, column_4, column_5, column_6, column_7, column_8 from customer_tbl;
88+
CREATE EXTERNAL TABLE lineitem_tbl STORED AS CSV DELIMITER '|' LOCATION 'tpch/lineitem.tbl';
89+
insert into lineitem select column_1, column_2, column_3, column_4, column_5, column_6, column_7, column_8, column_9, column_10, column_11, column_12, column_13, column_14, column_15, column_16 from lineitem_tbl;
90+
CREATE EXTERNAL TABLE nation_tbl STORED AS CSV DELIMITER '|' LOCATION 'tpch/nation.tbl';
91+
insert into nation select column_1, column_2, column_3, column_4 from nation_tbl;
92+
CREATE EXTERNAL TABLE orders_tbl STORED AS CSV DELIMITER '|' LOCATION 'tpch/orders.tbl';
93+
insert into orders select column_1, column_2, column_3, column_4, column_5, column_6, column_7, column_8, column_9 from orders_tbl;
94+
CREATE EXTERNAL TABLE part_tbl STORED AS CSV DELIMITER '|' LOCATION 'tpch/part.tbl';
95+
insert into part select column_1, column_2, column_3, column_4, column_5, column_6, column_7, column_8, column_9 from part_tbl;
96+
CREATE EXTERNAL TABLE partsupp_tbl STORED AS CSV DELIMITER '|' LOCATION 'tpch/partsupp.tbl';
97+
insert into partsupp select column_1, column_2, column_3, column_4, column_5 from partsupp_tbl;
98+
CREATE EXTERNAL TABLE region_tbl STORED AS CSV DELIMITER '|' LOCATION 'tpch/region.tbl';
99+
insert into region select column_1, column_2, column_3 from region_tbl;
100+
CREATE EXTERNAL TABLE supplier_tbl STORED AS CSV DELIMITER '|' LOCATION 'tpch/supplier.tbl';
101+
insert into supplier select column_1, column_2, column_3, column_4, column_5, column_6, column_7 from supplier_tbl;
102+
103+
select
104+
o_year,
105+
sum(case
106+
when nation = 'IRAQ' then volume
107+
else 0
108+
end) / sum(volume) as mkt_share
109+
from
110+
(
111+
select
112+
extract(year from o_orderdate) as o_year,
113+
l_extendedprice * (1 - l_discount) as volume,
114+
n2.n_name as nation
115+
from
116+
part,
117+
supplier,
118+
lineitem,
119+
orders,
120+
customer,
121+
nation n1,
122+
nation n2,
123+
region
124+
where
125+
p_partkey = l_partkey
126+
and s_suppkey = l_suppkey
127+
and l_orderkey = o_orderkey
128+
and o_custkey = c_custkey
129+
and c_nationkey = n1.n_nationkey
130+
and n1.n_regionkey = r_regionkey
131+
and r_name = 'AMERICA'
132+
and s_nationkey = n2.n_nationkey
133+
and o_orderdate between date '1995-01-01' and date '1996-12-31'
134+
and p_type = 'ECONOMY ANODIZED STEEL'
135+
) as all_nations
136+
group by
137+
o_year
138+
order by
139+
o_year;

0 commit comments

Comments
 (0)