should be it

This commit is contained in:
2025-10-24 19:21:19 -05:00
parent a4b23fc57c
commit f09560c7b1
14047 changed files with 3161551 additions and 1 deletions

View File

@@ -0,0 +1,18 @@
# name: benchmark/tpch/aggregate/lineitem_count.benchmark
# description: Simple COUNT aggregate over lineitem
# group: [aggregate]
include benchmark/tpch/tpch_load.benchmark.in
name Lineitem Simple Count
group aggregate
subgroup tpch
run
SELECT COUNT(*) FROM lineitem
result I sf=1
6001215
result I sf=100
600037902

View File

@@ -0,0 +1,64 @@
# name: benchmark/tpch/aggregate/lineitem_distinct_on_few_groups.benchmark
# description: DISTINCT ON over Lineitem
# group: [aggregate]
include benchmark/tpch/tpch_load.benchmark.in
name Lineitem Distinct On (Few Groups)
group aggregate
subgroup tpch
run
SELECT DISTINCT ON (l_quantity) l_quantity, l_extendedprice FROM lineitem ORDER BY l_quantity, l_extendedprice DESC;
result II sf=1
1 2097.99
2 4193.98
3 6293.97
4 8395.96
5 10489.95
6 12587.94
7 14685.93
8 16791.92
9 18890.91
10 20989.9
11 23055.89
12 25175.88
13 27260.87
14 29357.86
15 31469.85
16 33567.84
17 35682.83
18 37781.82
19 39880.81
20 41979.8
21 44078.79
22 46155.78
23 48253.77
24 50351.76
25 52449.75
26 54573.74
27 56672.73
28 58743.72
29 60870.71
30 62909.7
31 65006.69
32 67135.68
33 69266.67
34 71365.66
35 73429.65
36 75563.64
37 77662.63
38 79761.62
39 81821.61
40 83879.6
41 85976.59
42 88157.58
43 90213.57
44 92223.56
45 94454.55
46 96553.54
47 98652.53
48 100703.52
49 102801.51
50 104949.5

View File

@@ -0,0 +1,20 @@
# name: benchmark/tpch/aggregate/lineitem_distinct_on_many_groups.benchmark
# description: DISTINCT ON over Lineitem
# group: [aggregate]
include benchmark/tpch/tpch_load.benchmark.in
name Lineitem Distinct On (Many Groups)
group aggregate
subgroup tpch
run
SELECT AVG(l_orderkey), AVG(l_extendedprice)
FROM (
SELECT DISTINCT ON (l_orderkey) l_orderkey, l_extendedprice
FROM lineitem
ORDER BY l_orderkey, l_extendedprice DESC
) l;
result II sf=1
2999991.5 59874.92

View File

@@ -0,0 +1,64 @@
# name: benchmark/tpch/aggregate/lineitem_group.benchmark
# description: Grouped aggregate over lineitem (grouped by an integer column)
# group: [aggregate]
include benchmark/tpch/tpch_load.benchmark.in
name Lineitem Group By Integer
group aggregate
subgroup tpch
run
SELECT l_quantity, SUM(l_quantity) FROM lineitem GROUP BY l_quantity ORDER BY 1
result II sf=1
1 120401
2 238920
3 360141
4 478484
5 597545
6 716592
7 840798
8 961224
9 1084527
10 1197000
11 1315072
12 1438956
13 1556841
14 1671880
15 1804860
16 1928288
17 2041462
18 2149722
19 2286897
20 2402280
21 2518446
22 2637514
23 2773639
24 2879304
25 3015875
26 3112252
27 3240351
28 3368596
29 3477303
30 3590130
31 3718853
32 3860160
33 3964191
34 4078844
35 4226355
36 4333392
37 4442590
38 4568398
39 4674189
40 4799080
41 4938327
42 5055624
43 5155098
44 5281056
45 5383710
46 5528234
47 5642350
48 5769168
49 5861576
50 5992300

View File

@@ -0,0 +1,21 @@
# name: benchmark/tpch/aggregate/lineitem_group_extract.benchmark
# description: Grouped aggregate over lineitem (grouped by year extracted from date)
# group: [aggregate]
include benchmark/tpch/tpch_load.benchmark.in
name Lineitem Group By Year
group aggregate
subgroup tpch
run
SELECT EXTRACT(year FROM l_shipdate) l_shipyear, SUM(l_quantity) FROM lineitem GROUP BY l_shipyear ORDER BY 1;
result II sf=1
1992 19305356
1993 23184525
1994 23189319
1995 23343871
1996 23307638
1997 23247128
1998 17500958

View File

@@ -0,0 +1,17 @@
# name: benchmark/tpch/aggregate/lineitem_group_string.benchmark
# description: Grouped aggregate over lineitem (grouped by a string column)
# group: [aggregate]
include benchmark/tpch/tpch_load.benchmark.in
name Lineitem Group By String
group aggregate
subgroup tpch
run
SELECT l_returnflag, SUM(l_quantity) FROM lineitem GROUP BY l_returnflag ORDER BY 1
result II sf=1
A 37734107
N 77624935
R 37719753

View File

@@ -0,0 +1,15 @@
# name: benchmark/tpch/aggregate/lineitem_sum.benchmark
# description: Simple SUM aggregate over lineitem
# group: [aggregate]
include benchmark/tpch/tpch_load.benchmark.in
name Lineitem Simple Sum
group aggregate
subgroup tpch
run
SELECT SUM(l_quantity) FROM lineitem
result I sf=1
153078795

View File

@@ -0,0 +1,69 @@
# name: benchmark/tpch/aggregate/q1_integer_keys.benchmark
# description: Simple COUNT aggregate over lineitem
# group: [aggregate]
name Q1 Integer Keys
group aggregate
subgroup tpch
require tpch
load
CALL dbgen(sf=1, suffix='_normal');
CREATE TABLE lineitem AS
SELECT l_orderkey,
l_partkey,
l_suppkey,
l_linenumber,
l_quantity,
l_extendedprice,
l_discount,
l_tax,
CASE l_returnflag
WHEN 'N' THEN 1
WHEN 'R' THEN 2
WHEN 'A' THEN 0
ELSE NULL
END l_returnflag,
CASE l_linestatus
WHEN 'F' THEN 0
WHEN 'O' THEN 1
ELSE NULL
END l_linestatus,
l_shipdate,
l_commitdate,
l_receiptdate,
l_shipinstruct,
l_shipmode,
l_comment
FROM lineitem_normal;
run
SELECT
l_returnflag,
l_linestatus,
sum(l_quantity) AS sum_qty,
sum(l_extendedprice) AS sum_base_price,
sum(l_extendedprice * (1 - l_discount)) AS sum_disc_price,
sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) AS sum_charge,
sum(l_quantity)::DOUBLE / count(l_quantity)::DOUBLE AS avg_qty,
sum(l_extendedprice)::DOUBLE / count(l_extendedprice)::DOUBLE AS avg_price,
sum(l_discount)::DOUBLE / count(l_discount)::DOUBLE AS avg_disc,
count(*) AS count_order
FROM
lineitem
WHERE
l_shipdate <= CAST('1998-09-02' AS date)
GROUP BY
l_returnflag,
l_linestatus
ORDER BY
l_returnflag,
l_linestatus;
result IIIIIIIIII
0 0 37734107 56586554400.73 53758257134.8700 55909065222.827692 25.5220 38273.1297 0.0500 1478493
1 0 991417 1487504710.38 1413082168.0541 1469649223.194375 25.5165 38284.4678 0.0501 38854
1 1 74476040 111701729697.74 106118230307.6056 110367043872.497010 25.5022 38249.1180 0.0500 2920374
2 0 37719753 56568041380.90 53741292684.6040 55889619119.831932 25.5058 38250.8546 0.0500 1478870

View File

@@ -0,0 +1,33 @@
# name: benchmark/tpch/aggregate/q1_join.benchmark
# description: Perform TPC-H Q1 including a nop join (FK-PK join)
# group: [aggregate]
include benchmark/tpch/tpch_load.benchmark.in
name Q1 + Nop Join
group aggregate
subgroup tpch
run
SELECT l_returnflag,
l_linestatus,
sum(l_quantity) AS sum_qty,
sum(l_extendedprice) AS sum_base_price,
sum(l_extendedprice * (1 - l_discount)) AS sum_disc_price,
sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) AS sum_charge,
avg(l_quantity) AS avg_qty,
avg(l_extendedprice) AS avg_price,
avg(l_discount) AS avg_disc,
count(*) AS count_order
FROM lineitem,
orders
WHERE l_orderkey = o_orderkey AND
l_shipdate <= CAST('1998-09-02' AS DATE)
GROUP BY l_returnflag,
l_linestatus
ORDER BY l_returnflag,
l_linestatus
result extension/tpch/dbgen/answers/sf1/q01.csv sf=1
result extension/tpch/dbgen/answers/sf100/q01.csv sf=100

View File

@@ -0,0 +1,35 @@
# name: benchmark/tpch/aggregate/q1_join_no_filter.benchmark
# description: Perform TPC-H Q1 including a nop join (FK-PK join)
# group: [aggregate]
include benchmark/tpch/tpch_load.benchmark.in
name Q1 + Nop Join (No Filter)
group aggregate
subgroup tpch
run
SELECT l_returnflag,
l_linestatus,
sum(l_quantity) AS sum_qty,
sum(l_extendedprice) AS sum_base_price,
sum(l_extendedprice * (1 - l_discount)) AS sum_disc_price,
sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) AS sum_charge,
avg(l_quantity) AS avg_qty,
avg(l_extendedprice) AS avg_price,
avg(l_discount) AS avg_disc,
count(*) AS count_order
FROM lineitem,
orders
WHERE l_orderkey=o_orderkey
GROUP BY l_returnflag,
l_linestatus
ORDER BY l_returnflag,
l_linestatus
result IIIIIIIIII sf=1
A F 37734107 56586554400.73 53758257134.8700 55909065222.827692 25.522005853257337 38273.12973462185 0.049985295838398135 1478493
N F 991417 1487504710.38 1413082168.0541 1469649223.194375 25.51647192052298 38284.46776084826 0.050093426674216325 38854
N O 76633518 114935210409.19 109189591897.4720 113561024263.013782 25.50201963528761 38248.01560905835 0.050000259567560455 3004998
R F 37719753 56568041380.90 53741292684.6040 55889619119.831932 25.50579361269077 38250.85462609964 0.050009405830126356 1478870

View File

@@ -0,0 +1,10 @@
# name: benchmark/tpch/aggregate/top_n_in_group_agg.benchmark
# group: [aggregate]
# default to SF5
argument sf 5
include benchmark/tpch/tpch_load.benchmark.in
run
SELECT max(l_extendedprice, 3) FROM lineitem GROUP BY l_suppkey ORDER BY ALL;

View File

@@ -0,0 +1,17 @@
# name: benchmark/tpch/aggregate/top_n_in_group_window.benchmark
# group: [aggregate]
# default to SF5
argument sf 5
include benchmark/tpch/tpch_load.benchmark.in
run
SELECT rs.grp, array_agg(rs.val ORDER BY rid)
FROM (
SELECT l_suppkey AS grp, l_extendedprice AS val, row_number() OVER (PARTITION BY l_suppkey ORDER BY l_extendedprice DESC) as rid
FROM lineitem ORDER BY l_suppkey DESC
) as rs
WHERE rid <= 3
GROUP BY ALL
ORDER BY ALL;