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,9 @@
include_directories(../../extension/tpch/include)
set(BENCHMARK_SOURCE_FILES startup.cpp)
add_library(duckdb_benchmark_tpch OBJECT ${BENCHMARK_SOURCE_FILES})
set(BENCHMARK_OBJECT_FILES
${BENCHMARK_OBJECT_FILES} $<TARGET_OBJECTS:duckdb_benchmark_tpch>
PARENT_SCOPE)

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;

View File

@@ -0,0 +1,21 @@
# name: benchmark/tpch/csv/lineitem_csv_auto_detect.benchmark
# description: Run CSV auto-detection on the lineitem CSV
# group: [csv]
name Read Lineitem CSV Auto-Detect
group csv
require tpch
# create the CSV file
load
CALL dbgen(sf=0.1, suffix='_normal');
COPY lineitem_normal TO '${BENCHMARK_DIR}/lineitem.csv' (FORMAT CSV, DELIMITER '|', HEADER);
CREATE SCHEMA tpch;
CALL dbgen(sf=0, schema='tpch');
run
SELECT COUNT(l_orderkey) FROM (FROM '${BENCHMARK_DIR}/lineitem.csv' LIMIT 5)
result I
5

View File

@@ -0,0 +1,24 @@
# name: benchmark/tpch/csv/lineitem_csv_gzip.benchmark
# description: Read Lineitem CSV gzipped with auto-detection
# group: [csv]
name Read Lineitem CSV gzipped with auto-detection
group csv
require tpch
# create the CSV file
load
CREATE SCHEMA tpch_schema;
CALL dbgen(sf=1, schema='tpch_schema');
COPY tpch_schema.lineitem TO '${BENCHMARK_DIR}/lineitem.csv.gz' (DELIMITER '|', HEADER);
DROP SCHEMA tpch_schema CASCADE;
run
CREATE OR REPLACE TABLE lineitem AS (SELECT * FROM read_csv_auto(['${BENCHMARK_DIR}/lineitem.csv.gz']));
cleanup
DROP TABLE IF EXISTS lineitem;
result I
6001215

View File

@@ -0,0 +1,24 @@
# name: benchmark/tpch/csv/lineitem_csv_gzip_sample.benchmark
# description: Read Lineitem CSV gzipped with auto-detection sampling the entire file
# group: [csv]
name Read Lineitem CSV gzipped with auto-detection sampling the entire file
group csv
require tpch
# create the CSV file
load
CREATE SCHEMA tpch_schema;
CALL dbgen(sf=1, schema='tpch_schema');
COPY tpch_schema.lineitem TO '${BENCHMARK_DIR}/lineitem.csv.gz' (FORMAT CSV, DELIMITER '|', HEADER);
DROP SCHEMA tpch_schema CASCADE;
run
CREATE OR REPLACE TABLE lineitem AS (SELECT * FROM read_csv_auto('${BENCHMARK_DIR}/lineitem.csv.gz', sample_size=-1));
cleanup
DROP TABLE IF EXISTS lineitem;
result I
6001215

View File

@@ -0,0 +1,49 @@
# name: benchmark/tpch/csv/lineitem_csv_many_files.benchmark
# description: Read the lineitem CSV with many files
# group: [csv]
name Read Lineitem CSV Many Files
group csv
require tpch
# create the CSV file
load
call dbgen(sf=1);
COPY (FROM lineitem LIMIT 200000 OFFSET 0) TO '${BENCHMARK_DIR}/lineitem-split-0.csv' (HEADER, DELIMITER '|');
COPY (FROM lineitem LIMIT 200000 OFFSET 200000) TO '${BENCHMARK_DIR}/lineitem-split-1.csv' (HEADER, DELIMITER '|');
COPY (FROM lineitem LIMIT 200000 OFFSET 400000) TO '${BENCHMARK_DIR}/lineitem-split-2.csv' (HEADER, DELIMITER '|');
COPY (FROM lineitem LIMIT 200000 OFFSET 600000) TO '${BENCHMARK_DIR}/lineitem-split-3.csv' (HEADER, DELIMITER '|');
COPY (FROM lineitem LIMIT 200000 OFFSET 800000) TO '${BENCHMARK_DIR}/lineitem-split-4.csv' (HEADER, DELIMITER '|');
COPY (FROM lineitem LIMIT 200000 OFFSET 1000000) TO '${BENCHMARK_DIR}/lineitem-split-5.csv' (HEADER, DELIMITER '|');
COPY (FROM lineitem LIMIT 200000 OFFSET 1200000) TO '${BENCHMARK_DIR}/lineitem-split-6.csv' (HEADER, DELIMITER '|');
COPY (FROM lineitem LIMIT 200000 OFFSET 1400000) TO '${BENCHMARK_DIR}/lineitem-split-7.csv' (HEADER, DELIMITER '|');
COPY (FROM lineitem LIMIT 200000 OFFSET 1600000) TO '${BENCHMARK_DIR}/lineitem-split-8.csv' (HEADER, DELIMITER '|');
COPY (FROM lineitem LIMIT 200000 OFFSET 1800000) TO '${BENCHMARK_DIR}/lineitem-split-9.csv' (HEADER, DELIMITER '|');
COPY (FROM lineitem LIMIT 200000 OFFSET 2000000) TO '${BENCHMARK_DIR}/lineitem-split-10.csv' (HEADER, DELIMITER '|');
COPY (FROM lineitem LIMIT 200000 OFFSET 2200000) TO '${BENCHMARK_DIR}/lineitem-split-11.csv' (HEADER, DELIMITER '|');
COPY (FROM lineitem LIMIT 200000 OFFSET 2400000) TO '${BENCHMARK_DIR}/lineitem-split-12.csv' (HEADER, DELIMITER '|');
COPY (FROM lineitem LIMIT 200000 OFFSET 2600000) TO '${BENCHMARK_DIR}/lineitem-split-13.csv' (HEADER, DELIMITER '|');
COPY (FROM lineitem LIMIT 200000 OFFSET 2800000) TO '${BENCHMARK_DIR}/lineitem-split-14.csv' (HEADER, DELIMITER '|');
COPY (FROM lineitem LIMIT 200000 OFFSET 3000000) TO '${BENCHMARK_DIR}/lineitem-split-15.csv' (HEADER, DELIMITER '|');
COPY (FROM lineitem LIMIT 200000 OFFSET 3200000) TO '${BENCHMARK_DIR}/lineitem-split-16.csv' (HEADER, DELIMITER '|');
COPY (FROM lineitem LIMIT 200000 OFFSET 3400000) TO '${BENCHMARK_DIR}/lineitem-split-17.csv' (HEADER, DELIMITER '|');
COPY (FROM lineitem LIMIT 200000 OFFSET 3600000) TO '${BENCHMARK_DIR}/lineitem-split-18.csv' (HEADER, DELIMITER '|');
COPY (FROM lineitem LIMIT 200000 OFFSET 3800000) TO '${BENCHMARK_DIR}/lineitem-split-19.csv' (HEADER, DELIMITER '|');
COPY (FROM lineitem LIMIT 200000 OFFSET 4000000) TO '${BENCHMARK_DIR}/lineitem-split-20.csv' (HEADER, DELIMITER '|');
COPY (FROM lineitem LIMIT 200000 OFFSET 4200000) TO '${BENCHMARK_DIR}/lineitem-split-21.csv' (HEADER, DELIMITER '|');
COPY (FROM lineitem LIMIT 200000 OFFSET 4400000) TO '${BENCHMARK_DIR}/lineitem-split-22.csv' (HEADER, DELIMITER '|');
COPY (FROM lineitem LIMIT 200000 OFFSET 4600000) TO '${BENCHMARK_DIR}/lineitem-split-23.csv' (HEADER, DELIMITER '|');
COPY (FROM lineitem LIMIT 200000 OFFSET 4800000) TO '${BENCHMARK_DIR}/lineitem-split-24.csv' (HEADER, DELIMITER '|');
COPY (FROM lineitem LIMIT 200000 OFFSET 5000000) TO '${BENCHMARK_DIR}/lineitem-split-25.csv' (HEADER, DELIMITER '|');
COPY (FROM lineitem LIMIT 200000 OFFSET 5200000) TO '${BENCHMARK_DIR}/lineitem-split-26.csv' (HEADER, DELIMITER '|');
COPY (FROM lineitem LIMIT 200000 OFFSET 5400000) TO '${BENCHMARK_DIR}/lineitem-split-27.csv' (HEADER, DELIMITER '|');
COPY (FROM lineitem LIMIT 200000 OFFSET 5600000) TO '${BENCHMARK_DIR}/lineitem-split-28.csv' (HEADER, DELIMITER '|');
COPY (FROM lineitem LIMIT 200000 OFFSET 5800000) TO '${BENCHMARK_DIR}/lineitem-split-29.csv' (HEADER, DELIMITER '|');
COPY (FROM lineitem LIMIT 200000 OFFSET 6000000) TO '${BENCHMARK_DIR}/lineitem-split-30.csv' (HEADER, DELIMITER '|');
run
SELECT COUNT(*) FROM read_csv_auto('${BENCHMARK_DIR}/lineitem-split-*.csv');
result I
6001215

View File

@@ -0,0 +1,27 @@
# name: benchmark/tpch/csv/read_lineitem_csv.benchmark
# description: Read the lineitem of TPC-H SF0.1 from a CSV file with an ASCII delimiter
# group: [csv]
name Read Lineitem CSV (ASCII Delimiter)
group csv
require tpch
# create the CSV file
load
CALL dbgen(sf=0.1, suffix='_normal');
COPY lineitem_normal TO '${BENCHMARK_DIR}/lineitem.csv' (FORMAT CSV, DELIMITER '|', HEADER);
CREATE SCHEMA tpch;
CALL dbgen(sf=0, schema='tpch');
run
COPY tpch.lineitem FROM '${BENCHMARK_DIR}/lineitem.csv' (FORMAT CSV, DELIMITER '|', HEADER);
# cleanup: delete and re-create the lineitem table
cleanup
DROP SCHEMA tpch CASCADE;
CREATE SCHEMA tpch;
CALL dbgen(sf=0, schema='tpch');
result I
600572

View File

@@ -0,0 +1,27 @@
# name: benchmark/tpch/csv/read_lineitem_csv_unicode.benchmark
# description: Read the lineitem of TPC-H SF0.1 from a CSV file with a unicode delimiter
# group: [csv]
name Read Lineitem CSV (Unicode Delimiter)
group csv
require tpch
# create the CSV file
load
CALL dbgen(sf=0.1, suffix='_normal');
COPY lineitem_normal TO '${BENCHMARK_DIR}/lineitem.csv' (FORMAT CSV, DELIMITER '🦆', HEADER);
CREATE SCHEMA tpch;
CALL dbgen(sf=0, schema='tpch');
run
COPY tpch.lineitem FROM '${BENCHMARK_DIR}/lineitem.csv' (FORMAT CSV, DELIMITER '🦆', HEADER);
# cleanup: delete and re-create the lineitem table
cleanup
DROP SCHEMA tpch CASCADE;
CREATE SCHEMA tpch;
CALL dbgen(sf=0, schema='tpch');
result I
600572

View File

@@ -0,0 +1,14 @@
# name: benchmark/tpch/csv/write_lineitem_csv.benchmark
# description: Write the lineitem of TPC-H SF1 to a CSV file
# group: [csv]
include benchmark/tpch/tpch_load.benchmark.in
name Write Lineitem CSV
group csv
run
COPY lineitem TO '${BENCHMARK_DIR}/lineitem.csv' (FORMAT CSV, DELIMITER '|', HEADER);
result I sf=1
6001215

View File

@@ -0,0 +1,17 @@
# name: benchmark/tpch/csv/write_lineitem_csv_no_order.benchmark
# description: Write the lineitem of TPC-H SF1 to a CSV file (without preserving insertion order)
# group: [csv]
include benchmark/tpch/tpch_load.benchmark.in
name Write Lineitem CSV (Non-Order Preserving)
group csv
init
SET preserve_insertion_order=false;
run
COPY lineitem TO '${BENCHMARK_DIR}/lineitem.csv' (FORMAT CSV, DELIMITER '|', HEADER);
result I sf=1
6001215

View File

@@ -0,0 +1,31 @@
# name: benchmark/tpch/cte/auto_cte_materialization.benchmark
# description: Benchmark to check if automatic CTE materialization is working
# group: [cte]
name Automatic CTE materialization
group cte
require tpch
# create the CSV file
load
CALL dbgen(sf=1);
run
WITH my_cte AS (
SELECT
l_returnflag,
l_linestatus,
sum(l_quantity) AS sum_qty
FROM
lineitem
GROUP BY
l_returnflag,
l_linestatus
)
SELECT
(SELECT sum_qty FROM my_cte WHERE l_returnflag = 'A') +
(SELECT sum_qty FROM my_cte WHERE l_returnflag = 'R');
result I
75453860.00

View File

@@ -0,0 +1,21 @@
# name: benchmark/tpch/delete/delete_lineitem_half.benchmark
# description: Delete half of the lineitem table
# group: [delete]
require tpch
cache tpch_sf1.duckdb
load
CALL dbgen(sf=1);
CREATE TABLE lineitem_deletes AS FROM lineitem;
run
DELETE FROM lineitem_deletes WHERE l_orderkey%2=0;
result I
3000586
cleanup
DROP TABLE lineitem_deletes;
CREATE TABLE lineitem_deletes AS FROM lineitem;

View File

@@ -0,0 +1,11 @@
# name: benchmark/tpch/expression_reordering/adaptive_mixed_reordering_and.benchmark
# description: Re-order mixed comparisons adaptively
# group: [expression_reordering]
include benchmark/tpch/tpch_load.benchmark.in
run
SELECT COUNT(*) FROM lineitem WHERE l_returnflag = 'R' AND l_orderkey > 5000 AND l_shipdate > DATE '1990-01-01';
result I sf=1
1477624

View File

@@ -0,0 +1,11 @@
# name: benchmark/tpch/expression_reordering/adaptive_mixed_reordering_or.benchmark
# description: Re-order mixed comparisons adaptively
# group: [expression_reordering]
include benchmark/tpch/tpch_load.benchmark.in
run
SELECT COUNT(*) FROM lineitem WHERE l_returnflag = 'R' OR l_orderkey > 5000 OR l_shipdate > DATE '1990-01-01';
result I sf=1
6001215

View File

@@ -0,0 +1,11 @@
# name: benchmark/tpch/expression_reordering/adaptive_numeric_reordering_and.benchmark
# description: Re-order numeric comparisons adaptively
# group: [expression_reordering]
include benchmark/tpch/tpch_load.benchmark.in
run
SELECT COUNT(*) FROM lineitem WHERE l_quantity < 11 AND l_shipdate < DATE '1998-09-02' AND l_receiptdate < DATE '1998-09-23' AND l_tax < 0.05;
result I sf=1
656007

View File

@@ -0,0 +1,11 @@
# name: benchmark/tpch/expression_reordering/adaptive_numeric_reordering_or.benchmark
# description: Re-order numeric comparisons adaptively
# group: [expression_reordering]
include benchmark/tpch/tpch_load.benchmark.in
run
SELECT COUNT(*) FROM lineitem WHERE l_quantity < 11 OR l_shipdate < DATE '1998-09-02' OR l_receiptdate < DATE '1998-09-23' OR l_tax < 0.05;
result I sf=1
5974930

View File

@@ -0,0 +1,11 @@
# name: benchmark/tpch/expression_reordering/adaptive_string_reordering_and.benchmark
# description: Re-order string comparisons adaptively
# group: [expression_reordering]
include benchmark/tpch/tpch_load.benchmark.in
run
SELECT COUNT(*) FROM lineitem WHERE l_comment LIKE '%_%' AND l_comment LIKE '%s%' AND l_comment LIKE '%str%';
result I sf=1
279725

View File

@@ -0,0 +1,11 @@
# name: benchmark/tpch/expression_reordering/adaptive_string_reordering_or.benchmark
# description: Re-order string comparisons adaptively
# group: [expression_reordering]
include benchmark/tpch/tpch_load.benchmark.in
run
SELECT COUNT(*) FROM lineitem WHERE l_comment LIKE '%_%' OR l_comment LIKE '%s%' OR l_comment LIKE '%str%';
result I sf=1
6001215

View File

@@ -0,0 +1,20 @@
# name: benchmark/tpch/join/floating_point_join.benchmark
# description: COUNT aggregate over join on double keys
# group: [join]
name Join Double Keys
group join
subgroup tpch
require tpch
load
CALL dbgen(sf=1, suffix='_normal');
CREATE TABLE lineitem AS SELECT * REPLACE (l_orderkey::DOUBLE AS l_orderkey) FROM lineitem_normal;
CREATE TABLE orders AS SELECT * REPLACE (o_orderkey::DOUBLE AS o_orderkey) FROM orders_normal;
run
SELECT COUNT(*) from lineitem join orders on (l_orderkey=o_orderkey);
result I
6001215

View File

@@ -0,0 +1,15 @@
# name: benchmark/tpch/join/integer_join.benchmark
# description: COUNT aggregate over join on integer keys
# group: [join]
include benchmark/tpch/tpch_load.benchmark.in
name Join Integer Keys
group join
subgroup tpch
run
SELECT COUNT(*) from lineitem join orders on (l_orderkey=o_orderkey);
result I sf=1
6001215

View File

@@ -0,0 +1,16 @@
# name: benchmark/tpch/join/join_filter_pushdown.benchmark
# description: Join filter pushdown
# group: [join]
include benchmark/tpch/tpch_load.benchmark.in
name Join Filter Pushdown
group join
subgroup tpch
run
SELECT * from lineitem WHERE l_orderkey=(SELECT MAX(l_orderkey) FROM lineitem) ORDER BY ALL
result IIIIIIIIIIIIIIII sf=1
6000000 32255 2256 1 5.00 5936.25 0.04 0.03 N O 1996-11-02 1996-11-19 1996-12-01 TAKE BACK RETURN MAIL riously pe
6000000 96127 6128 2 28.00 31447.36 0.01 0.02 N O 1996-09-22 1996-10-01 1996-10-21 NONE AIR pecial excuses nag evenly f

View File

@@ -0,0 +1,16 @@
# name: benchmark/tpch/join/join_filter_pushdown_union.benchmark
# description: Join filter pushdown
# group: [join]
include benchmark/tpch/tpch_load.benchmark.in
name Join Filter Pushdown (Union)
group join
subgroup tpch
run
SELECT * from (from lineitem union from lineitem) WHERE l_orderkey=(SELECT MAX(l_orderkey) FROM lineitem) ORDER BY ALL
result IIIIIIIIIIIIIIII sf=1
6000000 32255 2256 1 5.00 5936.25 0.04 0.03 N O 1996-11-02 1996-11-19 1996-12-01 TAKE BACK RETURN MAIL riously pe
6000000 96127 6128 2 28.00 31447.36 0.01 0.02 N O 1996-09-22 1996-10-01 1996-10-21 NONE AIR pecial excuses nag evenly f

View File

@@ -0,0 +1,18 @@
# name: benchmark/tpch/join/join_filter_pushdown_union_all.benchmark
# description: Join filter pushdown
# group: [join]
include benchmark/tpch/tpch_load.benchmark.in
name Join Filter Pushdown (Union All)
group join
subgroup tpch
run
SELECT * from (from lineitem union all from lineitem) WHERE l_orderkey=(SELECT MAX(l_orderkey) FROM lineitem) ORDER BY ALL
result IIIIIIIIIIIIIIII sf=1
6000000 32255 2256 1 5.00 5936.25 0.04 0.03 N O 1996-11-02 1996-11-19 1996-12-01 TAKE BACK RETURN MAIL riously pe
6000000 32255 2256 1 5.00 5936.25 0.04 0.03 N O 1996-11-02 1996-11-19 1996-12-01 TAKE BACK RETURN MAIL riously pe
6000000 96127 6128 2 28.00 31447.36 0.01 0.02 N O 1996-09-22 1996-10-01 1996-10-21 NONE AIR pecial excuses nag evenly f
6000000 96127 6128 2 28.00 31447.36 0.01 0.02 N O 1996-09-22 1996-10-01 1996-10-21 NONE AIR pecial excuses nag evenly f

View File

@@ -0,0 +1,22 @@
# name: benchmark/tpch/join/join_or_filter_pushdown.benchmark
# description: Join filter pushdown
# group: [join]
include benchmark/tpch/tpch_load.benchmark.in
name Join Or Filter Pushdown
group join
subgroup tpch
run
SELECT * from lineitem WHERE l_orderkey IN (SELECT UNNEST([MIN(l_orderkey), MAX(l_orderkey)]) FROM lineitem) ORDER BY ALL
result IIIIIIIIIIIIIIII sf=1
1 2132 4633 4 28.00 28955.64 0.09 0.06 N O 1996-04-21 1996-03-30 1996-05-16 NONE AIR s cajole busily above t
1 15635 638 6 32.00 49620.16 0.07 0.02 N O 1996-01-30 1996-02-07 1996-02-03 DELIVER IN PERSON MAIL rouches. special
1 24027 1534 5 24.00 22824.48 0.10 0.04 N O 1996-03-30 1996-03-14 1996-04-01 NONE FOB the regular, regular pa
1 63700 3701 3 8.00 13309.60 0.10 0.02 N O 1996-01-29 1996-03-05 1996-01-31 TAKE BACK RETURN REG AIR ourts cajole above the furiou
1 67310 7311 2 36.00 45983.16 0.09 0.06 N O 1996-04-12 1996-02-28 1996-04-20 TAKE BACK RETURN MAIL according to the final foxes. qui
1 155190 7706 1 17.00 21168.23 0.04 0.02 N O 1996-03-13 1996-02-12 1996-03-22 DELIVER IN PERSON TRUCK to beans x-ray carefull
6000000 32255 2256 1 5.00 5936.25 0.04 0.03 N O 1996-11-02 1996-11-19 1996-12-01 TAKE BACK RETURN MAIL riously pe
6000000 96127 6128 2 28.00 31447.36 0.01 0.02 N O 1996-09-22 1996-10-01 1996-10-21 NONE AIR pecial excuses nag evenly f

View File

@@ -0,0 +1,13 @@
# name: benchmark/tpch/join/join_or_filter_range.benchmark
# description: Join filter pushdown
# group: [join]
include benchmark/tpch/tpch_load.benchmark.in
name Join Or Filter Pushdown
group join
subgroup tpch
run
SELECT * from lineitem WHERE l_orderkey IN (SELECT * FROM range(50)) ORDER BY ALL

View File

@@ -0,0 +1,18 @@
call dbgen(sf=100);
create or replace table lineitem_sf1 as from lineitem limit 6001215;
create or replace table lineitem_sf1_random as (select * from lineitem_sf1 order by hash(rowid + 42));
create or replace table lineitem_sf10 as from lineitem limit 59986052;
create or replace table lineitem_sf10_random as (select * from lineitem_sf10 order by hash(rowid + 42));
pragma memory_limit='40GB';
create or replace table lineitem_sf100_random as (select * from lineitem order by hash(rowid + 42));
pragma memory_limit='';
alter table lineitem rename to lineitem_sf100;
create or replace table orders_sf1 as from orders limit 1500000;
create or replace table orders_sf1_random as (select * from orders_sf1 order by hash(rowid + 42));
create or replace table orders_sf10 as from orders limit 15000000;
create or replace table orders_sf10_random as (select * from orders_sf10 order by hash(rowid + 42));
pragma memory_limit='40GB';
create or replace table orders_sf100_random as (select * from orders order by hash(rowid + 42));
pragma memory_limit='';
alter table orders rename to orders_sf100;

View File

@@ -0,0 +1,16 @@
# name: ${FILE_PATH}
# description: ${DESCRIPTION}
# group: [sf1]
name ${QUERY_NAME}
group or_filter_pushdown
require tpch
cache tpch_sf100.duckdb
load benchmark/tpch/or_filter_pushdown/load.sql
run
pragma disabled_optimizers='${DISABLED_OPTIMIZERS}';
select * from ${TABLE_NAME} where ${COLUMN_NAME} in (99584, 5900006);

View File

@@ -0,0 +1,9 @@
# name: benchmark/tpch/or_filter_pushdown/sf100_lineitem_ordered_pushdown.benchmark
# description: pushdown or into lineitem
# group: [or_filter_pushdown]
template benchmark/tpch/or_filter_pushdown/or_filter_pushdown.benchmark.in
QUERY_NAME=lineitem_ordered_sf100_pushdown
DISABLED_OPTIMIZERS=''
TABLE_NAME=lineitem_sf100
COLUMN_NAME=l_orderkey

View File

@@ -0,0 +1,9 @@
# name: benchmark/tpch/or_filter_pushdown/sf100_lineitem_random_pushdown.benchmark
# description: pushdown or into lineitem
# group: [or_filter_pushdown]
template benchmark/tpch/or_filter_pushdown/or_filter_pushdown.benchmark.in
QUERY_NAME=lineitem_unordered_sf100_pushdown
DISABLED_OPTIMIZERS=''
TABLE_NAME=lineitem_sf100_random
COLUMN_NAME=l_orderkey

View File

@@ -0,0 +1,9 @@
# name: benchmark/tpch/or_filter_pushdown/sf100_orders_ordered_pushdown.benchmark
# description: pushdown or into lineitem
# group: [or_filter_pushdown]
template benchmark/tpch/or_filter_pushdown/or_filter_pushdown.benchmark.in
QUERY_NAME=orders_ordered_sf100_pushdown
DISABLED_OPTIMIZERS=''
TABLE_NAME=orders_sf100
COLUMN_NAME=o_orderkey

View File

@@ -0,0 +1,9 @@
# name: benchmark/tpch/or_filter_pushdown/sf100_orders_random_pushdown.benchmark
# description: pushdown or into lineitem
# group: [or_filter_pushdown]
template benchmark/tpch/or_filter_pushdown/or_filter_pushdown.benchmark.in
QUERY_NAME=orders_unordered_sf100_pushdown
DISABLED_OPTIMIZERS=''
TABLE_NAME=orders_sf100_random
COLUMN_NAME=o_orderkey

View File

@@ -0,0 +1,9 @@
# name: benchmark/tpch/or_filter_pushdown/sf10_lineitem_ordered_pushdown.benchmark
# description: pushdown or into lineitem
# group: [or_filter_pushdown]
template benchmark/tpch/or_filter_pushdown/or_filter_pushdown.benchmark.in
QUERY_NAME=lineitem_ordered_sf10_pushdown
DISABLED_OPTIMIZERS=''
TABLE_NAME=lineitem_sf10
COLUMN_NAME=l_orderkey

View File

@@ -0,0 +1,9 @@
# name: benchmark/tpch/or_filter_pushdown/sf10_lineitem_random_pushdown.benchmark
# description: pushdown or into lineitem
# group: [or_filter_pushdown]
template benchmark/tpch/or_filter_pushdown/or_filter_pushdown.benchmark.in
QUERY_NAME=lineitem_unordered_sf10_pushdown
DISABLED_OPTIMIZERS=''
TABLE_NAME=lineitem_sf10_random
COLUMN_NAME=l_orderkey

View File

@@ -0,0 +1,9 @@
# name: benchmark/tpch/or_filter_pushdown/sf10_orders_ordered_pushdown.benchmark
# description: pushdown or into lineitem
# group: [or_filter_pushdown]
template benchmark/tpch/or_filter_pushdown/or_filter_pushdown.benchmark.in
QUERY_NAME=orders_ordered_sf10_pushdown
DISABLED_OPTIMIZERS=''
TABLE_NAME=orders_sf10
COLUMN_NAME=o_orderkey

View File

@@ -0,0 +1,9 @@
# name: benchmark/tpch/or_filter_pushdown/sf10_orders_random_pushdown.benchmark
# description: pushdown or into lineitem
# group: [or_filter_pushdown]
template benchmark/tpch/or_filter_pushdown/or_filter_pushdown.benchmark.in
QUERY_NAME=orders_unordered_sf10_pushdown
DISABLED_OPTIMIZERS=''
TABLE_NAME=orders_sf10_random
COLUMN_NAME=o_orderkey

View File

@@ -0,0 +1,9 @@
# name: benchmark/tpch/or_filter_pushdown/sf1_lineitem_ordered_pushdown.benchmark
# description: pushdown or into lineitem
# group: [or_filter_pushdown]
template benchmark/tpch/or_filter_pushdown/or_filter_pushdown.benchmark.in
QUERY_NAME=lineitem_ordered_sf1_pushdown
DISABLED_OPTIMIZERS=''
TABLE_NAME=lineitem_sf1
COLUMN_NAME=l_orderkey

View File

@@ -0,0 +1,9 @@
# name: benchmark/tpch/or_filter_pushdown/sf1_lineitem_random_pushdown.benchmark
# description: pushdown or into lineitem
# group: [or_filter_pushdown]
template benchmark/tpch/or_filter_pushdown/or_filter_pushdown.benchmark.in
QUERY_NAME=lineitem_unordered_sf1_pushdown
DISABLED_OPTIMIZERS=''
TABLE_NAME=lineitem_sf1_random
COLUMN_NAME=l_orderkey

View File

@@ -0,0 +1,9 @@
# name: benchmark/tpch/or_filter_pushdown/sf1_orders_ordered_pushdown.benchmark
# description: pushdown or into lineitem
# group: [or_filter_pushdown]
template benchmark/tpch/or_filter_pushdown/or_filter_pushdown.benchmark.in
QUERY_NAME=orders_ordered_sf1_pushdown
DISABLED_OPTIMIZERS=''
TABLE_NAME=orders_sf1
COLUMN_NAME=o_orderkey

View File

@@ -0,0 +1,9 @@
# name: benchmark/tpch/or_filter_pushdown/sf1_orders_random_pushdown.benchmark
# description: pushdown or into lineitem
# group: [or_filter_pushdown]
template benchmark/tpch/or_filter_pushdown/or_filter_pushdown.benchmark.in
QUERY_NAME=orders_unordered_sf1_pushdown
DISABLED_OPTIMIZERS=''
TABLE_NAME=orders_sf1_random
COLUMN_NAME=o_orderkey

View File

@@ -0,0 +1,23 @@
# name: benchmark/tpch/parquet/parquet_load.benchmark
# description: Import data from Parquet
# group: [parquet]
name Parquet Data Import (In-Memory)
group parquet
subgroup tpch
require parquet
require tpch
load
CALL dbgen(sf=1);
COPY lineitem TO '${BENCHMARK_DIR}/lineitem.parquet' (FORMAT PARQUET);
DROP TABLE lineitem;
CREATE TABLE lineitem(l_orderkey INTEGER NOT NULL, l_partkey INTEGER NOT NULL, l_suppkey INTEGER NOT NULL, l_linenumber INTEGER NOT NULL, l_quantity INTEGER NOT NULL, l_extendedprice DECIMAL(15,2) NOT NULL, l_discount DECIMAL(15,2) NOT NULL, l_tax DECIMAL(15,2) NOT NULL, l_returnflag VARCHAR NOT NULL, l_linestatus VARCHAR NOT NULL, l_shipdate DATE NOT NULL, l_commitdate DATE NOT NULL, l_receiptdate DATE NOT NULL, l_shipinstruct VARCHAR NOT NULL, l_shipmode VARCHAR NOT NULL, l_comment VARCHAR NOT NULL);
run
COPY lineitem FROM '${BENCHMARK_DIR}/lineitem.parquet';
cleanup
DROP TABLE lineitem;
CREATE TABLE lineitem(l_orderkey INTEGER NOT NULL, l_partkey INTEGER NOT NULL, l_suppkey INTEGER NOT NULL, l_linenumber INTEGER NOT NULL, l_quantity INTEGER NOT NULL, l_extendedprice DECIMAL(15,2) NOT NULL, l_discount DECIMAL(15,2) NOT NULL, l_tax DECIMAL(15,2) NOT NULL, l_returnflag VARCHAR NOT NULL, l_linestatus VARCHAR NOT NULL, l_shipdate DATE NOT NULL, l_commitdate DATE NOT NULL, l_receiptdate DATE NOT NULL, l_shipinstruct VARCHAR NOT NULL, l_shipmode VARCHAR NOT NULL, l_comment VARCHAR NOT NULL);

View File

@@ -0,0 +1,25 @@
# name: benchmark/tpch/parquet/parquet_load_encrypted.benchmark
# description: Import data from Parquet
# group: [parquet]
name Parquet Data Import (In-Memory)
group parquet
subgroup tpch
require parquet
require tpch
require httpfs
load
CALL dbgen(sf=1);
PRAGMA add_parquet_key('key128', '0123456789112345');
COPY lineitem TO '${BENCHMARK_DIR}/lineitem_encrypted.parquet' (ENCRYPTION_CONFIG {footer_key: 'key128'});
DROP TABLE lineitem;
CREATE TABLE lineitem(l_orderkey INTEGER NOT NULL, l_partkey INTEGER NOT NULL, l_suppkey INTEGER NOT NULL, l_linenumber INTEGER NOT NULL, l_quantity INTEGER NOT NULL, l_extendedprice DECIMAL(15,2) NOT NULL, l_discount DECIMAL(15,2) NOT NULL, l_tax DECIMAL(15,2) NOT NULL, l_returnflag VARCHAR NOT NULL, l_linestatus VARCHAR NOT NULL, l_shipdate DATE NOT NULL, l_commitdate DATE NOT NULL, l_receiptdate DATE NOT NULL, l_shipinstruct VARCHAR NOT NULL, l_shipmode VARCHAR NOT NULL, l_comment VARCHAR NOT NULL);
run
COPY lineitem FROM '${BENCHMARK_DIR}/lineitem_encrypted.parquet' (ENCRYPTION_CONFIG {footer_key: 'key128'});
cleanup
DROP TABLE lineitem;
CREATE TABLE lineitem(l_orderkey INTEGER NOT NULL, l_partkey INTEGER NOT NULL, l_suppkey INTEGER NOT NULL, l_linenumber INTEGER NOT NULL, l_quantity INTEGER NOT NULL, l_extendedprice DECIMAL(15,2) NOT NULL, l_discount DECIMAL(15,2) NOT NULL, l_tax DECIMAL(15,2) NOT NULL, l_returnflag VARCHAR NOT NULL, l_linestatus VARCHAR NOT NULL, l_shipdate DATE NOT NULL, l_commitdate DATE NOT NULL, l_receiptdate DATE NOT NULL, l_shipinstruct VARCHAR NOT NULL, l_shipmode VARCHAR NOT NULL, l_comment VARCHAR NOT NULL);

View File

@@ -0,0 +1,24 @@
# name: benchmark/tpch/parquet/parquet_load_no_order.benchmark
# description: Import data from Parquet
# group: [parquet]
name Parquet Data Import (In-Memory, Unordered)
group parquet
subgroup tpch
require parquet
require tpch
load
CALL dbgen(sf=1);
COPY lineitem TO '${BENCHMARK_DIR}/lineitem.parquet' (FORMAT PARQUET);
SET preserve_insertion_order=false;
DROP TABLE lineitem;
CREATE TABLE lineitem(l_orderkey INTEGER NOT NULL, l_partkey INTEGER NOT NULL, l_suppkey INTEGER NOT NULL, l_linenumber INTEGER NOT NULL, l_quantity INTEGER NOT NULL, l_extendedprice DECIMAL(15,2) NOT NULL, l_discount DECIMAL(15,2) NOT NULL, l_tax DECIMAL(15,2) NOT NULL, l_returnflag VARCHAR NOT NULL, l_linestatus VARCHAR NOT NULL, l_shipdate DATE NOT NULL, l_commitdate DATE NOT NULL, l_receiptdate DATE NOT NULL, l_shipinstruct VARCHAR NOT NULL, l_shipmode VARCHAR NOT NULL, l_comment VARCHAR NOT NULL);
run
COPY lineitem FROM '${BENCHMARK_DIR}/lineitem.parquet';
cleanup
DROP TABLE lineitem;
CREATE TABLE lineitem(l_orderkey INTEGER NOT NULL, l_partkey INTEGER NOT NULL, l_suppkey INTEGER NOT NULL, l_linenumber INTEGER NOT NULL, l_quantity INTEGER NOT NULL, l_extendedprice DECIMAL(15,2) NOT NULL, l_discount DECIMAL(15,2) NOT NULL, l_tax DECIMAL(15,2) NOT NULL, l_returnflag VARCHAR NOT NULL, l_linestatus VARCHAR NOT NULL, l_shipdate DATE NOT NULL, l_commitdate DATE NOT NULL, l_receiptdate DATE NOT NULL, l_shipinstruct VARCHAR NOT NULL, l_shipmode VARCHAR NOT NULL, l_comment VARCHAR NOT NULL);

View File

@@ -0,0 +1,25 @@
# name: benchmark/tpch/parquet/parquet_load_persistent.benchmark
# description: Import data from Parquet
# group: [parquet]
name Parquet Data Import (Persistent)
group parquet
subgroup tpch
require parquet
require tpch
storage persistent
load
CALL dbgen(sf=1);
COPY lineitem TO '${BENCHMARK_DIR}/lineitem.parquet' (FORMAT PARQUET);
DROP TABLE lineitem;
CREATE TABLE lineitem(l_orderkey INTEGER NOT NULL, l_partkey INTEGER NOT NULL, l_suppkey INTEGER NOT NULL, l_linenumber INTEGER NOT NULL, l_quantity INTEGER NOT NULL, l_extendedprice DECIMAL(15,2) NOT NULL, l_discount DECIMAL(15,2) NOT NULL, l_tax DECIMAL(15,2) NOT NULL, l_returnflag VARCHAR NOT NULL, l_linestatus VARCHAR NOT NULL, l_shipdate DATE NOT NULL, l_commitdate DATE NOT NULL, l_receiptdate DATE NOT NULL, l_shipinstruct VARCHAR NOT NULL, l_shipmode VARCHAR NOT NULL, l_comment VARCHAR NOT NULL);
run
COPY lineitem FROM '${BENCHMARK_DIR}/lineitem.parquet';
cleanup
DROP TABLE lineitem;
CREATE TABLE lineitem(l_orderkey INTEGER NOT NULL, l_partkey INTEGER NOT NULL, l_suppkey INTEGER NOT NULL, l_linenumber INTEGER NOT NULL, l_quantity INTEGER NOT NULL, l_extendedprice DECIMAL(15,2) NOT NULL, l_discount DECIMAL(15,2) NOT NULL, l_tax DECIMAL(15,2) NOT NULL, l_returnflag VARCHAR NOT NULL, l_linestatus VARCHAR NOT NULL, l_shipdate DATE NOT NULL, l_commitdate DATE NOT NULL, l_receiptdate DATE NOT NULL, l_shipinstruct VARCHAR NOT NULL, l_shipmode VARCHAR NOT NULL, l_comment VARCHAR NOT NULL);

View File

@@ -0,0 +1,26 @@
# name: benchmark/tpch/parquet/parquet_load_persistent_no_order.benchmark
# description: Import data from Parquet
# group: [parquet]
name Parquet Data Import (Persistent, Unordered)
group parquet
subgroup tpch
require parquet
require tpch
storage persistent
load
CALL dbgen(sf=1);
COPY lineitem TO '${BENCHMARK_DIR}/lineitem.parquet' (FORMAT PARQUET);
SET preserve_insertion_order=false;
DROP TABLE lineitem;
CREATE TABLE lineitem(l_orderkey INTEGER NOT NULL, l_partkey INTEGER NOT NULL, l_suppkey INTEGER NOT NULL, l_linenumber INTEGER NOT NULL, l_quantity INTEGER NOT NULL, l_extendedprice DECIMAL(15,2) NOT NULL, l_discount DECIMAL(15,2) NOT NULL, l_tax DECIMAL(15,2) NOT NULL, l_returnflag VARCHAR NOT NULL, l_linestatus VARCHAR NOT NULL, l_shipdate DATE NOT NULL, l_commitdate DATE NOT NULL, l_receiptdate DATE NOT NULL, l_shipinstruct VARCHAR NOT NULL, l_shipmode VARCHAR NOT NULL, l_comment VARCHAR NOT NULL);
run
COPY lineitem FROM '${BENCHMARK_DIR}/lineitem.parquet';
cleanup
DROP TABLE lineitem;
CREATE TABLE lineitem(l_orderkey INTEGER NOT NULL, l_partkey INTEGER NOT NULL, l_suppkey INTEGER NOT NULL, l_linenumber INTEGER NOT NULL, l_quantity INTEGER NOT NULL, l_extendedprice DECIMAL(15,2) NOT NULL, l_discount DECIMAL(15,2) NOT NULL, l_tax DECIMAL(15,2) NOT NULL, l_returnflag VARCHAR NOT NULL, l_linestatus VARCHAR NOT NULL, l_shipdate DATE NOT NULL, l_commitdate DATE NOT NULL, l_receiptdate DATE NOT NULL, l_shipinstruct VARCHAR NOT NULL, l_shipmode VARCHAR NOT NULL, l_comment VARCHAR NOT NULL);

View File

@@ -0,0 +1,24 @@
# name: benchmark/tpch/parquet/parquet_load_small_row_groups.benchmark
# description: Import data from Parquet
# group: [parquet]
name Parquet Data Import (Small Row Groups)
group parquet
subgroup tpch
require parquet
require tpch
load
CALL dbgen(sf=1);
COPY lineitem TO '${BENCHMARK_DIR}/lineitem.parquet' (FORMAT PARQUET, ROW_GROUP_SIZE 5000);
DROP TABLE lineitem;
CREATE TABLE lineitem(l_orderkey INTEGER NOT NULL, l_partkey INTEGER NOT NULL, l_suppkey INTEGER NOT NULL, l_linenumber INTEGER NOT NULL, l_quantity INTEGER NOT NULL, l_extendedprice DECIMAL(15,2) NOT NULL, l_discount DECIMAL(15,2) NOT NULL, l_tax DECIMAL(15,2) NOT NULL, l_returnflag VARCHAR NOT NULL, l_linestatus VARCHAR NOT NULL, l_shipdate DATE NOT NULL, l_commitdate DATE NOT NULL, l_receiptdate DATE NOT NULL, l_shipinstruct VARCHAR NOT NULL, l_shipmode VARCHAR NOT NULL, l_comment VARCHAR NOT NULL);
run
COPY lineitem FROM '${BENCHMARK_DIR}/lineitem.parquet';
cleanup
DROP TABLE lineitem;
CREATE TABLE lineitem(l_orderkey INTEGER NOT NULL, l_partkey INTEGER NOT NULL, l_suppkey INTEGER NOT NULL, l_linenumber INTEGER NOT NULL, l_quantity INTEGER NOT NULL, l_extendedprice DECIMAL(15,2) NOT NULL, l_discount DECIMAL(15,2) NOT NULL, l_tax DECIMAL(15,2) NOT NULL, l_returnflag VARCHAR NOT NULL, l_linestatus VARCHAR NOT NULL, l_shipdate DATE NOT NULL, l_commitdate DATE NOT NULL, l_receiptdate DATE NOT NULL, l_shipinstruct VARCHAR NOT NULL, l_shipmode VARCHAR NOT NULL, l_comment VARCHAR NOT NULL);

View File

@@ -0,0 +1,45 @@
# name: benchmark/tpch/parquet/parquet_mixed_struct_projection.benchmark
# description: Execute a projection over lineitem stored in several parquet files with mixed structs
# group: [parquet]
name Q1 (Parquet, Mixed Structs)
group parquet
subgroup tpch
require parquet
require tpch
load
CALL dbgen(sf=1, suffix='_normal');
COPY (
SELECT subq AS lineitem
FROM (
SELECT l_suppkey, l_linestatus, l_commitdate, l_receiptdate, l_comment, l_extendedprice, l_tax, l_partkey, l_shipdate, l_linenumber, l_shipinstruct, l_shipmode, l_discount, l_orderkey, l_returnflag, l_quantity
FROM lineitem_normal
LIMIT 1000000) subq
)
TO '${BENCHMARK_DIR}/lineitem_mixed_struct1.parquet';
COPY (
SELECT subq AS lineitem
FROM (
SELECT l_linenumber, l_tax, l_orderkey, l_discount, l_linestatus, l_quantity, l_shipmode, l_returnflag, l_receiptdate, l_partkey, l_shipdate, l_suppkey, l_commitdate, l_extendedprice, l_comment, l_shipinstruct
FROM lineitem_normal
LIMIT 2000000
OFFSET 1000000) subq
)
TO '${BENCHMARK_DIR}/lineitem_mixed_struct2.parquet';
COPY (
SELECT subq AS lineitem
FROM (
SELECT l_extendedprice, l_linenumber, l_shipdate, l_comment, l_shipmode, l_orderkey, l_partkey, l_shipinstruct, l_commitdate, l_returnflag, l_quantity, l_tax, l_linestatus, l_receiptdate, l_discount, l_suppkey
FROM lineitem_normal
OFFSET 3000000) subq
)
TO '${BENCHMARK_DIR}/lineitem_mixed_struct3.parquet';
CREATE VIEW lineitem AS SELECT UNNEST(lineitem) FROM '${BENCHMARK_DIR}/lineitem_mixed_struct*.parquet';
run
SELECT MAX(l_linenumber) FROM lineitem
result I
7

View File

@@ -0,0 +1,20 @@
# name: benchmark/tpch/parquet/parquet_projection_direct.benchmark
# description: Execute a simple aggregate + projection over lineitem to test projection pushdown
# group: [parquet]
name Lineitem Projection Pushdown (Direct)
group parquet
subgroup tpch
require parquet
require tpch
load
CALL dbgen(sf=1, suffix='_normal');
COPY lineitem_normal TO '${BENCHMARK_DIR}/lineitem.parquet' (FORMAT PARQUET);
run
SELECT SUM(l_extendedprice * (1 - l_discount) * (1 + l_tax)) FROM read_parquet('${BENCHMARK_DIR}/lineitem.parquet');
result I
226829357828.867781

View File

@@ -0,0 +1,15 @@
# name: benchmark/tpch/parquet/parquet_projection_view.benchmark
# description: Execute aggregate + projection over lineitem with a view on top to test projection pushdown
# group: [parquet]
include benchmark/tpch/tpch_load_parquet.benchmark.in
name Lineitem Projection Pushdown (View)
group parquet
subgroup tpch
run
SELECT SUM(l_extendedprice * (1 - l_discount) * (1 + l_tax)) FROM lineitem
result I
226829357828.867781

View File

@@ -0,0 +1,23 @@
# name: benchmark/tpch/parquet/parquet_q1_encrypted.benchmark
# description: Execute Q1 over lineitem stored in a parquet file
# group: [parquet]
name Q1 (Parquet)
group parquet
subgroup tpch
# if httpfs is required, en/decryption is 2x as fast
require httpfs
require parquet
require tpch
load
CALL dbgen(sf=1, suffix='_normal');
PRAGMA add_parquet_key('key256', '01234567891123450123456789112345');
COPY lineitem_normal TO '${BENCHMARK_DIR}/lineitem_encrypted.parquet' (ENCRYPTION_CONFIG {footer_key: 'key256'});
CREATE VIEW lineitem AS SELECT * FROM read_parquet('${BENCHMARK_DIR}/lineitem_encrypted.parquet', encryption_config={footer_key: 'key256'});
run
PRAGMA tpch(1)
result extension/tpch/dbgen/answers/sf1/q01.csv

View File

@@ -0,0 +1,19 @@
# name: benchmark/tpch/parquet/parquet_top_n.benchmark
# description: Top-N over lineitem Parquet
# group: [parquet]
include benchmark/tpch/tpch_load_parquet.benchmark.in
name Lineitem Top N (order key)
group topn
subgroup tpch
run
SELECT * FROM lineitem ORDER BY l_extendedprice DESC, l_orderkey LIMIT 5;
result IIIIIIIIIIIIIIII
2513090 199999 5038 4 50.00 104949.50 0.02 0.04 A F 1993-10-05 1993-10-17 1993-10-28 TAKE BACK RETURN FOB - ironic, pending pinto be
82823 199998 5037 2 50.00 104899.50 0.04 0.05 A F 1992-04-30 1992-07-05 1992-05-29 COLLECT COD SHIP orbits. bold fox
644100 199998 5037 2 50.00 104899.50 0.05 0.04 A F 1994-08-29 1994-08-05 1994-09-20 COLLECT COD FOB ges nag carefully silent r
3811460 199998 5037 1 50.00 104899.50 0.05 0.05 R F 1993-10-18 1993-08-10 1993-11-13 TAKE BACK RETURN MAIL usly. blithely fin
2077184 198998 6556 2 50.00 104849.50 0.06 0.01 R F 1993-07-20 1993-06-19 1993-07-23 DELIVER IN PERSON MAIL ffily even pinto beans thrash slyly final t

View File

@@ -0,0 +1,24 @@
# name: benchmark/tpch/parquet/parquet_union_all_pushdown.benchmark
# description: Read parquet files through a union all where we don't use any columns (manual pushdown)
# group: [parquet]
name Parquet Union All
group parquet
subgroup tpch
require parquet
require tpch
load
CALL dbgen(sf=1, suffix='_normal');
COPY lineitem_normal TO '${BENCHMARK_DIR}/lineitem.parquet' (FORMAT PARQUET);
CREATE VIEW p1 AS SELECT * FROM read_parquet('${BENCHMARK_DIR}/lineitem.parquet');
CREATE VIEW p2 AS SELECT * FROM read_parquet('${BENCHMARK_DIR}/lineitem.parquet');
run
SELECT COUNT(*) FROM (SELECT * FROM p1 UNION ALL SELECT * FROM p2) t1
result I
12002430

View File

@@ -0,0 +1,23 @@
# name: benchmark/tpch/parquet/parquet_union_all_pushdown_manual.benchmark
# description: Read parquet files through a union all where we don't use any columns (manual pushdown)
# group: [parquet]
name Parquet Union All (Manual Pushdown)
group parquet
subgroup tpch
require parquet
require tpch
load
CALL dbgen(sf=1, suffix='_normal');
COPY lineitem_normal TO '${BENCHMARK_DIR}/lineitem.parquet' (FORMAT PARQUET);
CREATE VIEW p1 AS SELECT * FROM read_parquet('${BENCHMARK_DIR}/lineitem.parquet');
CREATE VIEW p2 AS SELECT * FROM read_parquet('${BENCHMARK_DIR}/lineitem.parquet');
run
SELECT COUNT(*) FROM (SELECT l_orderkey FROM p1 UNION ALL SELECT l_orderkey FROM p2) t1
result I
12002430

View File

@@ -0,0 +1,16 @@
# name: benchmark/tpch/parquet/write_lineitem_parquet.benchmark
# description: Write the lineitem of TPC-H SF1 to a Parquet file
# group: [parquet]
include benchmark/tpch/tpch_load.benchmark.in
name Write Lineitem Parquet
group parquet
require parquet
run
COPY lineitem TO '${BENCHMARK_DIR}/lineitem.parquet';
result I sf=1
6001215

View File

@@ -0,0 +1,19 @@
# name: benchmark/tpch/parquet/write_lineitem_parquet_memory_limited.benchmark
# description: Write the lineitem of TPC-H SF1 to a Parquet file with limited memory
# group: [parquet]
include benchmark/tpch/tpch_load.benchmark.in
name Write Lineitem Parquet (Limited Memory)
group parquet
require parquet
init
SET memory_limit='500MB';
run
COPY lineitem TO '${BENCHMARK_DIR}/lineitem.parquet';
result I sf=1
6001215

View File

@@ -0,0 +1,17 @@
# name: benchmark/tpch/parquet/write_lineitem_parquet_no_order.benchmark
# description: Write the lineitem of TPC-H SF1 to a Parquet file
# group: [parquet]
include benchmark/tpch/tpch_load.benchmark.in
name Write Lineitem Parquet (Non-Order Preserving)
group parquet
init
SET preserve_insertion_order=false;
run
COPY lineitem TO '${BENCHMARK_DIR}/lineitem.parquet';
result I sf=1
6001215

View File

@@ -0,0 +1,21 @@
# name: benchmark/tpch/partition/partition_pushdown.benchmark
# description: Join filter pushdown into hive partitions
# group: [partition]
name Hive Filter Join Filter Pushdown (Parquet)
group partition
subgroup tpch
require parquet
require tpch
load
CALL dbgen(sf=1);
COPY (FROM lineitem ORDER BY l_shipdate) TO '${BENCHMARK_DIR}/lineitem_partitioned_shipdate' (FORMAT PARQUET, PARTITION_BY l_shipdate);
run
SELECT COUNT(*) from '${BENCHMARK_DIR}/lineitem_partitioned_shipdate/**/*.parquet' WHERE l_shipdate=(SELECT MAX(l_shipdate) FROM lineitem)
result I
18

View File

@@ -0,0 +1,19 @@
# name: benchmark/tpch/partition/partition_pushdown_csv.benchmark
# description: Join filter pushdown into hive partitions
# group: [partition]
name Hive Filter Join Filter Pushdown (CSV)
group partition
subgroup tpch
require tpch
load
CALL dbgen(sf=1);
COPY (FROM lineitem ORDER BY l_shipdate) TO '${BENCHMARK_DIR}/lineitem_partitioned_shipdate_csv' (FORMAT CSV, PARTITION_BY l_shipdate);
run
SELECT COUNT(*) from '${BENCHMARK_DIR}/lineitem_partitioned_shipdate_csv/**/*.csv' WHERE l_shipdate=(SELECT MAX(l_shipdate) FROM lineitem)
result I
18

View File

@@ -0,0 +1,24 @@
# name: benchmark/tpch/pivot/lineitem_pivot_many_groups_few_pivots.benchmark
# description: lineitem pivot over l_returnflag grouped by l_orderkey
# group: [pivot]
include benchmark/tpch/tpch_load.benchmark.in
name Lineitem Pivot (l_returnflag group by l_orderkey)
group pivot
subgroup tpch
run
FROM (PIVOT lineitem ON l_returnflag USING SUM(l_extendedprice) GROUP BY l_orderkey) ORDER BY l_orderkey LIMIT 10
result IIII sf=1
1 NULL 181861.27 NULL
2 NULL 44694.46 NULL
3 71243.28 NULL 133841.04
4 NULL 30690.90 NULL
5 73426.50 NULL 74402.47
6 61998.31 NULL NULL
7 NULL 262131.32 NULL
32 NULL 208845.62 NULL
33 95093.85 NULL 75928.31
34 NULL 58110.94 NULL

View File

@@ -0,0 +1,24 @@
# name: benchmark/tpch/pivot/lineitem_pivot_many_groups_medium_pivots.benchmark
# description: lineitem pivot over l_quantity grouped by l_orderkey
# group: [pivot]
include benchmark/tpch/tpch_load.benchmark.in
name Lineitem Pivot (l_quantity group by l_orderkey)
group pivot
subgroup tpch
run
FROM (PIVOT lineitem ON l_quantity USING SUM(l_extendedprice) GROUP BY l_orderkey) ORDER BY l_orderkey LIMIT 10
result IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII sf=1
1 NULL NULL NULL NULL NULL NULL NULL NULL 21168.23 NULL NULL NULL NULL NULL NULL NULL 22824.48 NULL NULL NULL 28955.64 NULL NULL NULL NULL 49620.16 NULL NULL NULL 45983.16 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 13309.60 NULL
2 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 44694.46 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
3 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 2618.76 NULL NULL NULL NULL NULL NULL 28733.64 39890.88 32986.52 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 54058.05 NULL NULL NULL 46796.47 NULL NULL NULL NULL NULL NULL
4 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 30690.90 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
5 NULL NULL NULL NULL NULL NULL 23678.55 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 50723.92 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 73426.50 NULL NULL NULL NULL
6 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 61998.31 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
7 NULL NULL NULL 13608.60 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 31809.96 NULL NULL NULL NULL NULL NULL NULL 43058.75 NULL NULL 73943.82 NULL NULL NULL NULL NULL NULL NULL NULL 81639.88 NULL NULL NULL 6476.15 NULL NULL NULL NULL 11594.16
32 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 2210.32 NULL NULL NULL NULL NULL NULL NULL NULL 47227.60 NULL NULL NULL NULL 64605.44 NULL NULL NULL NULL NULL NULL NULL 6582.96 NULL NULL NULL NULL 79059.64 NULL NULL NULL NULL NULL NULL NULL 9159.66 NULL NULL NULL
33 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 40217.23 47344.32 NULL NULL NULL NULL NULL NULL NULL NULL NULL 75928.31 NULL NULL NULL NULL NULL NULL NULL NULL 7532.30 NULL NULL NULL NULL NULL
34 NULL NULL NULL NULL 17554.68 NULL NULL NULL NULL NULL NULL NULL NULL NULL 30875.02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 9681.24 NULL NULL NULL

View File

@@ -0,0 +1,24 @@
# name: benchmark/tpch/pivot/lineitem_pivot_returnflag.benchmark
# description: lineitem pivot over l_returnflag
# group: [pivot]
include benchmark/tpch/tpch_load.benchmark.in
name Lineitem Pivot (l_returnflag)
group pivot
subgroup tpch
run
FROM (PIVOT lineitem ON l_returnflag USING SUM(l_extendedprice) GROUP BY l_shipdate) ORDER BY l_shipdate LIMIT 10
result IIII sf=1
1992-01-02 98400.35 NULL 496508.01
1992-01-03 628803.06 NULL 941612.09
1992-01-04 908754.78 NULL 759225.87
1992-01-05 1807082.58 NULL 1429515.10
1992-01-06 1942774.04 NULL 1615774.69
1992-01-07 2456933.16 NULL 2224242.26
1992-01-08 2675471.47 NULL 2173178.53
1992-01-09 3119377.71 NULL 2800073.25
1992-01-10 3122858.17 NULL 3554223.97
1992-01-11 3778451.17 NULL 3860584.31

View File

@@ -0,0 +1,17 @@
# name: benchmark/tpch/pivot/lineitem_pivot_shipdate.benchmark
# description: lineitem pivot over l_shipdate
# group: [pivot]
include benchmark/tpch/tpch_load.benchmark.in
name Lineitem Pivot (l_shipdate)
group pivot
subgroup tpch
run
SELECT l_returnflag, "1992-01-02", "1992-01-03", "1992-01-04" FROM (PIVOT lineitem ON l_shipdate USING SUM(l_extendedprice) GROUP BY l_returnflag) ORDER BY l_returnflag
result IIII sf=1
A 98400.35 628803.06 908754.78
N NULL NULL NULL
R 496508.01 941612.09 759225.87

View File

@@ -0,0 +1,27 @@
# name: benchmark/tpch/pivot/lineitem_unpivot.benchmark
# description: lineitem unpivot
# group: [pivot]
include benchmark/tpch/tpch_load.benchmark.in
name Lineitem Unpivot
group pivot
subgroup tpch
run
WITH unpivoted_data AS (
UNPIVOT (SELECT l_orderkey, l_returnflag, l_shipinstruct FROM lineitem) ON l_returnflag, l_shipinstruct
)
SELECT name, value, AVG(l_orderkey) FROM unpivoted_data GROUP BY ALL ORDER BY ALL
result III sf=1
l_returnflag A 3000424.4368691635
l_returnflag N 3000145.266271816
l_returnflag R 3000411.306590167
l_shipinstruct COLLECT COD 3000543.885344478
l_shipinstruct DELIVER IN PERSON 3000377.511525631
l_shipinstruct NONE 2999474.842545817
l_shipinstruct TAKE BACK RETURN 3000722.611838043

View File

@@ -0,0 +1,7 @@
# name: benchmark/tpch/sf1-parquet/q01.benchmark
# description: Run query 01 from the TPC-H benchmark (single-threaded)
# group: [sf1-parquet]
template benchmark/tpch/sf1-parquet/tpch_sf1_parquet.benchmark.in
QUERY_NUMBER=1
QUERY_NUMBER_PADDED=01

View File

@@ -0,0 +1,7 @@
# name: benchmark/tpch/sf1-parquet/q02.benchmark
# description: Run query 02 from the TPC-H benchmark (single-threaded)
# group: [sf1-parquet]
template benchmark/tpch/sf1-parquet/tpch_sf1_parquet.benchmark.in
QUERY_NUMBER=2
QUERY_NUMBER_PADDED=02

View File

@@ -0,0 +1,7 @@
# name: benchmark/tpch/sf1-parquet/q03.benchmark
# description: Run query 03 from the TPC-H benchmark (single-threaded)
# group: [sf1-parquet]
template benchmark/tpch/sf1-parquet/tpch_sf1_parquet.benchmark.in
QUERY_NUMBER=3
QUERY_NUMBER_PADDED=03

View File

@@ -0,0 +1,7 @@
# name: benchmark/tpch/sf1-parquet/q04.benchmark
# description: Run query 04 from the TPC-H benchmark (single-threaded)
# group: [sf1-parquet]
template benchmark/tpch/sf1-parquet/tpch_sf1_parquet.benchmark.in
QUERY_NUMBER=4
QUERY_NUMBER_PADDED=04

View File

@@ -0,0 +1,7 @@
# name: benchmark/tpch/sf1-parquet/q05.benchmark
# description: Run query 05 from the TPC-H benchmark (single-threaded)
# group: [sf1-parquet]
template benchmark/tpch/sf1-parquet/tpch_sf1_parquet.benchmark.in
QUERY_NUMBER=5
QUERY_NUMBER_PADDED=05

View File

@@ -0,0 +1,7 @@
# name: benchmark/tpch/sf1-parquet/q06.benchmark
# description: Run query 06 from the TPC-H benchmark (single-threaded)
# group: [sf1-parquet]
template benchmark/tpch/sf1-parquet/tpch_sf1_parquet.benchmark.in
QUERY_NUMBER=6
QUERY_NUMBER_PADDED=06

View File

@@ -0,0 +1,7 @@
# name: benchmark/tpch/sf1-parquet/q07.benchmark
# description: Run query 07 from the TPC-H benchmark (single-threaded)
# group: [sf1-parquet]
template benchmark/tpch/sf1-parquet/tpch_sf1_parquet.benchmark.in
QUERY_NUMBER=7
QUERY_NUMBER_PADDED=07

View File

@@ -0,0 +1,7 @@
# name: benchmark/tpch/sf1-parquet/q08.benchmark
# description: Run query 08 from the TPC-H benchmark (single-threaded)
# group: [sf1-parquet]
template benchmark/tpch/sf1-parquet/tpch_sf1_parquet.benchmark.in
QUERY_NUMBER=8
QUERY_NUMBER_PADDED=08

View File

@@ -0,0 +1,7 @@
# name: benchmark/tpch/sf1-parquet/q09.benchmark
# description: Run query 09 from the TPC-H benchmark (single-threaded)
# group: [sf1-parquet]
template benchmark/tpch/sf1-parquet/tpch_sf1_parquet.benchmark.in
QUERY_NUMBER=9
QUERY_NUMBER_PADDED=09

View File

@@ -0,0 +1,7 @@
# name: benchmark/tpch/sf1-parquet/q10.benchmark
# description: Run query 10 from the TPC-H benchmark (single-threaded)
# group: [sf1-parquet]
template benchmark/tpch/sf1-parquet/tpch_sf1_parquet.benchmark.in
QUERY_NUMBER=10
QUERY_NUMBER_PADDED=10

View File

@@ -0,0 +1,7 @@
# name: benchmark/tpch/sf1-parquet/q11.benchmark
# description: Run query 11 from the TPC-H benchmark (single-threaded)
# group: [sf1-parquet]
template benchmark/tpch/sf1-parquet/tpch_sf1_parquet.benchmark.in
QUERY_NUMBER=11
QUERY_NUMBER_PADDED=11

View File

@@ -0,0 +1,7 @@
# name: benchmark/tpch/sf1-parquet/q12.benchmark
# description: Run query 12 from the TPC-H benchmark (single-threaded)
# group: [sf1-parquet]
template benchmark/tpch/sf1-parquet/tpch_sf1_parquet.benchmark.in
QUERY_NUMBER=12
QUERY_NUMBER_PADDED=12

View File

@@ -0,0 +1,7 @@
# name: benchmark/tpch/sf1-parquet/q13.benchmark
# description: Run query 13 from the TPC-H benchmark (single-threaded)
# group: [sf1-parquet]
template benchmark/tpch/sf1-parquet/tpch_sf1_parquet.benchmark.in
QUERY_NUMBER=13
QUERY_NUMBER_PADDED=13

View File

@@ -0,0 +1,7 @@
# name: benchmark/tpch/sf1-parquet/q14.benchmark
# description: Run query 14 from the TPC-H benchmark (single-threaded)
# group: [sf1-parquet]
template benchmark/tpch/sf1-parquet/tpch_sf1_parquet.benchmark.in
QUERY_NUMBER=14
QUERY_NUMBER_PADDED=14

View File

@@ -0,0 +1,7 @@
# name: benchmark/tpch/sf1-parquet/q15.benchmark
# description: Run query 15 from the TPC-H benchmark (single-threaded)
# group: [sf1-parquet]
template benchmark/tpch/sf1-parquet/tpch_sf1_parquet.benchmark.in
QUERY_NUMBER=15
QUERY_NUMBER_PADDED=15

View File

@@ -0,0 +1,7 @@
# name: benchmark/tpch/sf1-parquet/q16.benchmark
# description: Run query 16 from the TPC-H benchmark (single-threaded)
# group: [sf1-parquet]
template benchmark/tpch/sf1-parquet/tpch_sf1_parquet.benchmark.in
QUERY_NUMBER=16
QUERY_NUMBER_PADDED=16

View File

@@ -0,0 +1,7 @@
# name: benchmark/tpch/sf1-parquet/q17.benchmark
# description: Run query 17 from the TPC-H benchmark (single-threaded)
# group: [sf1-parquet]
template benchmark/tpch/sf1-parquet/tpch_sf1_parquet.benchmark.in
QUERY_NUMBER=17
QUERY_NUMBER_PADDED=17

View File

@@ -0,0 +1,7 @@
# name: benchmark/tpch/sf1-parquet/q18.benchmark
# description: Run query 18 from the TPC-H benchmark (single-threaded)
# group: [sf1-parquet]
template benchmark/tpch/sf1-parquet/tpch_sf1_parquet.benchmark.in
QUERY_NUMBER=18
QUERY_NUMBER_PADDED=18

View File

@@ -0,0 +1,7 @@
# name: benchmark/tpch/sf1-parquet/q19.benchmark
# description: Run query 19 from the TPC-H benchmark (single-threaded)
# group: [sf1-parquet]
template benchmark/tpch/sf1-parquet/tpch_sf1_parquet.benchmark.in
QUERY_NUMBER=19
QUERY_NUMBER_PADDED=19

View File

@@ -0,0 +1,7 @@
# name: benchmark/tpch/sf1-parquet/q20.benchmark
# description: Run query 20 from the TPC-H benchmark (single-threaded)
# group: [sf1-parquet]
template benchmark/tpch/sf1-parquet/tpch_sf1_parquet.benchmark.in
QUERY_NUMBER=20
QUERY_NUMBER_PADDED=20

View File

@@ -0,0 +1,7 @@
# name: benchmark/tpch/sf1-parquet/q21.benchmark
# description: Run query 21 from the TPC-H benchmark (single-threaded)
# group: [sf1-parquet]
template benchmark/tpch/sf1-parquet/tpch_sf1_parquet.benchmark.in
QUERY_NUMBER=21
QUERY_NUMBER_PADDED=21

View File

@@ -0,0 +1,7 @@
# name: benchmark/tpch/sf1-parquet/q22.benchmark
# description: Run query 22 from the TPC-H benchmark (single-threaded)
# group: [sf1-parquet]
template benchmark/tpch/sf1-parquet/tpch_sf1_parquet.benchmark.in
QUERY_NUMBER=22
QUERY_NUMBER_PADDED=22

View File

@@ -0,0 +1,17 @@
# name: ${FILE_PATH}
# description: ${DESCRIPTION}
# group: [sf1]
include benchmark/tpch/tpch_load_parquet.benchmark.in
name Q${QUERY_NUMBER_PADDED}
group tpch
subgroup sf${sf}
require tpch
run extension/tpch/dbgen/queries/q${QUERY_NUMBER_PADDED}.sql
result extension/tpch/dbgen/answers/sf1/q${QUERY_NUMBER_PADDED}.csv sf=1
result extension/tpch/dbgen/answers/sf100/q${QUERY_NUMBER_PADDED}.csv sf=100

View File

@@ -0,0 +1 @@
CALL dbgen(sf=1);

View File

@@ -0,0 +1,7 @@
# name: benchmark/tpch/sf1/q01.benchmark
# description: Run query 01 from the TPC-H benchmark (single-threaded)
# group: [sf1]
template benchmark/tpch/sf1/tpch_sf1.benchmark.in
QUERY_NUMBER=1
QUERY_NUMBER_PADDED=01

View File

@@ -0,0 +1,7 @@
# name: benchmark/tpch/sf1/q02.benchmark
# description: Run query 02 from the TPC-H benchmark (single-threaded)
# group: [sf1]
template benchmark/tpch/sf1/tpch_sf1.benchmark.in
QUERY_NUMBER=2
QUERY_NUMBER_PADDED=02

View File

@@ -0,0 +1,7 @@
# name: benchmark/tpch/sf1/q03.benchmark
# description: Run query 03 from the TPC-H benchmark (single-threaded)
# group: [sf1]
template benchmark/tpch/sf1/tpch_sf1.benchmark.in
QUERY_NUMBER=3
QUERY_NUMBER_PADDED=03

Some files were not shown because too many files have changed in this diff Show More