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,14 @@
# name: benchmark/csv/16_byte_values.benchmark
# description: Run CSV scan on file with muiltiple values of 16 bytes
# group: [csv]
name CSV Read Benchmark with nullpadding
group csv
load
CREATE TABLE t1 AS select 'thisis16bytes___,thisis16bytes___,thisis16bytes___,thisis16bytes___,thisis16bytes___,thisis16bytes___,thisis16bytes___,thisis16bytes___,thisis16bytes___,thisis16bytes___';
insert into t1 select 'thisis16bytes___,thisis16bytes___,thisis16bytes___,thisis16bytes___,thisis16bytes___,thisis16bytes___,thisis16bytes___,thisis16bytes___,thisis16bytes___,thisis16bytes___' from range(0,10000000) tbl(i);
COPY t1 TO '${BENCHMARK_DIR}/this_is_16bytes.csv' (FORMAT CSV, HEADER 0, QUOTE '');
run
SELECT * from read_csv('${BENCHMARK_DIR}/this_is_16bytes.csv',delim= ',', header = 0)

View File

@@ -0,0 +1,14 @@
# name: benchmark/csv/1_byte_values.benchmark
# description: Run CSV scan on file with muiltiple values of 1 bytes
# group: [csv]
name CSV Read Benchmark with nullpadding
group csv
load
CREATE TABLE t1 AS select 'a,a,a,a,a';
insert into t1 select 'a,a,a,a,a' from range(0,10000000) tbl(i);
COPY t1 TO '${BENCHMARK_DIR}/this_is_1byte.csv' (FORMAT CSV, HEADER 0);
run
SELECT * from read_csv('${BENCHMARK_DIR}/this_is_1byte.csv',delim= ',', header = 0)

View File

@@ -0,0 +1,120 @@
# name: benchmark/csv/glob_reorder.benchmark
# description: Run CSV scan on glob
# group: [csv]
name CSV Read with glob reorder
group csv
load
CREATE TABLE t1 AS select 'a,b,c,d,e';
insert into t1 select 'a,a,a,a,a' from range(0,1000) tbl(i);
COPY t1 TO '${BENCHMARK_DIR}/tx1.csv' (FORMAT CSV, HEADER 0,delim ';');
CREATE TABLE t2 AS select 'a,e,c,d,b';
insert into t2 select 'a,a,a,a,a' from range(0,1000) tbl(i);
COPY t2 TO '${BENCHMARK_DIR}/tx2.csv' (FORMAT CSV, HEADER 0,delim ';');
CREATE TABLE t3 AS select 'a,c,d,b,e';
insert into t3 select 'a,a,a,a,a' from range(0,1000) tbl(i);
COPY t3 TO '${BENCHMARK_DIR}/tx3.csv' (FORMAT CSV, HEADER 0,delim ';');
CREATE TABLE t4 AS select 'e,b,c,d,a';
insert into t4 select 'a,a,a,a,a' from range(0,1000000) tbl(i);
COPY t4 TO '${BENCHMARK_DIR}/tx4.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx5.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx6.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx7.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx8.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx9.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx10.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx11.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx12.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx13.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx14.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx15.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx16.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx17.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx18.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx19.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx20.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx21.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx22.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx23.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx24.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx25.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx26.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx27.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx28.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx29.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx30.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx31.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx32.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx33.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx34.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx35.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx36.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx37.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx38.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx39.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx40.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx41.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx42.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx43.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx44.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx45.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx46.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx47.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx48.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx49.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx50.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx51.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx52.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx53.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx54.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx55.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx56.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx57.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx58.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx59.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx60.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx61.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx62.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx63.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx64.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx65.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx66.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx67.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx68.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx69.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx70.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx71.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx72.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx73.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx74.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx75.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx76.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx77.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx78.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx79.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx80.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx81.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx82.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx83.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx84.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx85.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx86.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx87.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx88.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx89.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx90.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx91.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx92.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx93.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx94.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx95.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx96.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx97.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx98.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx99.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx100.csv' (FORMAT CSV, HEADER 0,delim ';');
run
SELECT * from read_csv('${BENCHMARK_DIR}/tx*.csv',delim= ',', parallel = false)

View File

@@ -0,0 +1,119 @@
# name: benchmark/csv/glob_reorder_union.benchmark
# description: Run CSV scan on glob with union by name
# group: [csv]
name CSV Read with glob reorder union
group csv
load
CREATE TABLE t1 AS select 'a,b,c,d,e';
insert into t1 select 'a,a,a,a,a' from range(0,1000) tbl(i);
COPY t1 TO '${BENCHMARK_DIR}/tx1.csv' (FORMAT CSV, HEADER 0,delim ';');
CREATE TABLE t2 AS select 'a,e,c,d,b';
insert into t2 select 'a,a,a,a,a' from range(0,1000) tbl(i);
COPY t2 TO '${BENCHMARK_DIR}/tx2.csv' (FORMAT CSV, HEADER 0,delim ';');
CREATE TABLE t3 AS select 'a,c,d,b,e';
insert into t3 select 'a,a,a,a,a' from range(0,1000) tbl(i);
COPY t3 TO '${BENCHMARK_DIR}/tx3.csv' (FORMAT CSV, HEADER 0,delim ';');
CREATE TABLE t4 AS select 'e,b,c,d,a';
insert into t4 select 'a,a,a,a,a' from range(0,1000000) tbl(i);
COPY t4 TO '${BENCHMARK_DIR}/tx4.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx5.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx6.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx7.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx8.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx9.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx10.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx11.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx12.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx13.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx14.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx15.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx16.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx17.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx18.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx19.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx20.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx21.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx22.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx23.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx24.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx25.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx26.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx27.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx28.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx29.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx30.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx31.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx32.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx33.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx34.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx35.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx36.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx37.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx38.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx39.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx40.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx41.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx42.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx43.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx44.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx45.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx46.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx47.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx48.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx49.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx50.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx51.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx52.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx53.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx54.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx55.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx56.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx57.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx58.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx59.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx60.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx61.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx62.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx63.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx64.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx65.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx66.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx67.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx68.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx69.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx70.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx71.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx72.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx73.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx74.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx75.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx76.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx77.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx78.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx79.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx80.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx81.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx82.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx83.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx84.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx85.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx86.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx87.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx88.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx89.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx90.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx91.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx92.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx93.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx94.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx95.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx96.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx97.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx98.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx99.csv' (FORMAT CSV, HEADER 0,delim ';');
COPY t4 TO '${BENCHMARK_DIR}/tx100.csv' (FORMAT CSV, HEADER 0,delim ';');
run
SELECT * from read_csv('${BENCHMARK_DIR}/tx*.csv',delim= ',', union_by_name = true, parallel = false)

View File

@@ -0,0 +1,15 @@
# name: benchmark/csv/ignore_errors.benchmark
# description: Run CSV scan with many cast errors over ignored values
# group: [csv]
name CSV Read Benchmark with ignore errors failing on multiple lines
group csv
load
CREATE TABLE t1 AS select 'Pedro', 'bla';
insert into t1 values ('Pedro', '232');
insert into t1 select 'Pedro', 'bla' from range(0,10000000) tbl(i);
COPY t1 TO '${BENCHMARK_DIR}/ignore_errors.csv' (FORMAT CSV, HEADER 0);
run
SELECT * from read_csv('${BENCHMARK_DIR}/ignore_errors.csv',delim= ',', header = 0, types=['VARCHAR', 'INTEGER'], ignore_errors = true)

View File

@@ -0,0 +1,18 @@
# name: benchmark/csv/multiple_read.benchmark
# description: Run CSV auto-detection on the lineitem CSV in multiple files
# group: [csv]
name CSV Multiple Read Benchmark
group csv
require tpch
load
CALL dbgen(sf=0.5, suffix='_normal');
COPY lineitem_normal TO '${BENCHMARK_DIR}/lineitem_0.csv' (FORMAT CSV, DELIMITER '|', HEADER);
COPY lineitem_normal TO '${BENCHMARK_DIR}/lineitem_1.csv' (FORMAT CSV, DELIMITER '|', HEADER);
COPY lineitem_normal TO '${BENCHMARK_DIR}/lineitem_2.csv' (FORMAT CSV, DELIMITER '|', HEADER);
COPY lineitem_normal TO '${BENCHMARK_DIR}/lineitem_3.csv' (FORMAT CSV, DELIMITER '|', HEADER);
run
SELECT * FROM '${BENCHMARK_DIR}/lineitem_*.csv'

View File

@@ -0,0 +1,46 @@
# name: benchmark/csv/multiple_small_files.benchmark
# description: Run CSV scan over multiple small (2048 rows) values
# group: [csv]
name CSV Read Benchmark over multiple small files
group csv
load
CREATE TABLE t1 AS select i,i,i,i,i,i,i,i,i,i from range(0,2048) tbl(i);
COPY t1 TO '${BENCHMARK_DIR}/small_csv.csv' (FORMAT CSV, HEADER 1);
run
SELECT * from
read_csv(['${BENCHMARK_DIR}/small_csv.csv','${BENCHMARK_DIR}/small_csv.csv',
'${BENCHMARK_DIR}/small_csv.csv','${BENCHMARK_DIR}/small_csv.csv',
'${BENCHMARK_DIR}/small_csv.csv','${BENCHMARK_DIR}/small_csv.csv',
'${BENCHMARK_DIR}/small_csv.csv','${BENCHMARK_DIR}/small_csv.csv',
'${BENCHMARK_DIR}/small_csv.csv','${BENCHMARK_DIR}/small_csv.csv',
'${BENCHMARK_DIR}/small_csv.csv','${BENCHMARK_DIR}/small_csv.csv',
'${BENCHMARK_DIR}/small_csv.csv','${BENCHMARK_DIR}/small_csv.csv',
'${BENCHMARK_DIR}/small_csv.csv','${BENCHMARK_DIR}/small_csv.csv',
'${BENCHMARK_DIR}/small_csv.csv','${BENCHMARK_DIR}/small_csv.csv',
'${BENCHMARK_DIR}/small_csv.csv','${BENCHMARK_DIR}/small_csv.csv',
'${BENCHMARK_DIR}/small_csv.csv','${BENCHMARK_DIR}/small_csv.csv',
'${BENCHMARK_DIR}/small_csv.csv','${BENCHMARK_DIR}/small_csv.csv',
'${BENCHMARK_DIR}/small_csv.csv','${BENCHMARK_DIR}/small_csv.csv',
'${BENCHMARK_DIR}/small_csv.csv','${BENCHMARK_DIR}/small_csv.csv',
'${BENCHMARK_DIR}/small_csv.csv','${BENCHMARK_DIR}/small_csv.csv',
'${BENCHMARK_DIR}/small_csv.csv','${BENCHMARK_DIR}/small_csv.csv',
'${BENCHMARK_DIR}/small_csv.csv','${BENCHMARK_DIR}/small_csv.csv',
'${BENCHMARK_DIR}/small_csv.csv','${BENCHMARK_DIR}/small_csv.csv',
'${BENCHMARK_DIR}/small_csv.csv','${BENCHMARK_DIR}/small_csv.csv',
'${BENCHMARK_DIR}/small_csv.csv','${BENCHMARK_DIR}/small_csv.csv',
'${BENCHMARK_DIR}/small_csv.csv','${BENCHMARK_DIR}/small_csv.csv',
'${BENCHMARK_DIR}/small_csv.csv','${BENCHMARK_DIR}/small_csv.csv',
'${BENCHMARK_DIR}/small_csv.csv','${BENCHMARK_DIR}/small_csv.csv',
'${BENCHMARK_DIR}/small_csv.csv','${BENCHMARK_DIR}/small_csv.csv',
'${BENCHMARK_DIR}/small_csv.csv','${BENCHMARK_DIR}/small_csv.csv',
'${BENCHMARK_DIR}/small_csv.csv','${BENCHMARK_DIR}/small_csv.csv',
'${BENCHMARK_DIR}/small_csv.csv','${BENCHMARK_DIR}/small_csv.csv',
'${BENCHMARK_DIR}/small_csv.csv','${BENCHMARK_DIR}/small_csv.csv',
'${BENCHMARK_DIR}/small_csv.csv','${BENCHMARK_DIR}/small_csv.csv',
'${BENCHMARK_DIR}/small_csv.csv','${BENCHMARK_DIR}/small_csv.csv',
'${BENCHMARK_DIR}/small_csv.csv','${BENCHMARK_DIR}/small_csv.csv',
'${BENCHMARK_DIR}/small_csv.csv','${BENCHMARK_DIR}/small_csv.csv',
'${BENCHMARK_DIR}/small_csv.csv','${BENCHMARK_DIR}/small_csv.csv'],delim= ',', header = 0)

View File

@@ -0,0 +1,14 @@
# name: benchmark/csv/multiple_small_files_union_by_name.benchmark
# description: Run CSV scan over multiple small (2048 rows) values
# group: [csv]
name CSV Read Benchmark over multiple small files (union by name)
group csv
load
CREATE TABLE t1 AS select i,i,i,i,i,i,i,i,i,i from range(0,2048) tbl(i);
COPY t1 TO '${BENCHMARK_DIR}/small_csv.csv' (FORMAT CSV, HEADER 1);
run
SELECT * from
read_csv(repeat(['${BENCHMARK_DIR}/small_csv.csv'], 1000),delim= ',', header = 0, union_by_name=true)

View File

@@ -0,0 +1,19 @@
# name: benchmark/csv/multiple_small_read_csv.benchmark
# description: Run CSV reader on multiple small files
# group: [csv]
name CSV Multiple Small Reader Benchmark
group csv
load
CREATE TABLE TEST (a integer, b varchar);
INSERT INTO TEST VALUES (1, 'Pedro'), (2, 'Mark'), (3 , 'Thijs');
COPY TEST TO '${BENCHMARK_DIR}/test_0.csv' (FORMAT CSV, DELIMITER '|', HEADER);
COPY TEST TO '${BENCHMARK_DIR}/test_1.csv' (FORMAT CSV, DELIMITER '|', HEADER);
COPY TEST TO '${BENCHMARK_DIR}/test_2.csv' (FORMAT CSV, DELIMITER '|', HEADER);
COPY TEST TO '${BENCHMARK_DIR}/test_3.csv' (FORMAT CSV, DELIMITER '|', HEADER);
COPY TEST TO '${BENCHMARK_DIR}/test_4.csv' (FORMAT CSV, DELIMITER '|', HEADER);
COPY TEST TO '${BENCHMARK_DIR}/test_5.csv' (FORMAT CSV, DELIMITER '|', HEADER);
run
SELECT * FROM '${BENCHMARK_DIR}/test_*.csv'

View File

@@ -0,0 +1,14 @@
# name: benchmark/csv/null_padding.benchmark
# description: Run CSV scan on file that needs null_padding
# group: [csv]
name CSV Read Benchmark with nullpadding
group csv
load
CREATE TABLE t1 AS select 'pedro;nl;1.73;31';
insert into t1 select 'mark;nl;1.72' from range(0,10000000) tbl(i);
COPY t1 TO '${BENCHMARK_DIR}/null_padding.csv' (FORMAT CSV, HEADER 0);
run
SELECT * from read_csv('${BENCHMARK_DIR}/null_padding.csv',delim= ';', null_padding = true, header = 0)

View File

@@ -0,0 +1,22 @@
# name: benchmark/csv/projection_pushdown.benchmark
# description: Runs the CSV Scanner with Projection Pushdown
# group: [csv]
name CSV Projection Pushdown
group csv
require tpch
cache lineitem_sf1.csv
load
CALL dbgen(sf=1);
COPY lineitem TO '${BENCHMARK_DIR}/lineitem_sf1.csv' (FORMAT CSV, DELIMITER '|', HEADER);
run
SELECT l_returnflag, MIN(l_orderkey) FROM '${BENCHMARK_DIR}/lineitem_sf1.csv' GROUP BY l_returnflag ORDER BY l_returnflag;
result II
A 3
N 1
R 3

View File

@@ -0,0 +1,17 @@
# name: benchmark/csv/read.benchmark
# description: Run CSV auto-detection on the lineitem CSV
# group: [csv]
name CSV Read Benchmark
group csv
require tpch
cache lineitem_sf1.csv
load
CALL dbgen(sf=1);
COPY lineitem TO '${BENCHMARK_DIR}/lineitem_sf1.csv' (FORMAT CSV, DELIMITER '|', HEADER);
run
SELECT * FROM '${BENCHMARK_DIR}/lineitem_sf1.csv'

View File

@@ -0,0 +1,14 @@
# name: benchmark/csv/small_csv.benchmark
# description: Run CSV reader on small file
# group: [csv]
name CSV Small Reader Benchmark
group csv
load
CREATE TABLE TEST (a integer, b varchar);
INSERT INTO TEST VALUES (1, 'Pedro'), (2, 'Mark'), (3 , 'Thijs');
COPY TEST TO '${BENCHMARK_DIR}/test.csv' (FORMAT CSV, DELIMITER '|', HEADER);
run
SELECT * FROM '${BENCHMARK_DIR}/test.csv'

View File

@@ -0,0 +1,17 @@
# name: benchmark/csv/sniffer.benchmark
# description: Run CSV auto-detection on the lineitem CSV, with a Describe to benchmark the sniffer
# group: [csv]
name CSV Sniffer Benchmark
group csv
require tpch
cache lineitem_sf1.csv
load
CALL dbgen(sf=1);
COPY lineitem TO '${BENCHMARK_DIR}/lineitem_sf1.csv' (FORMAT CSV, DELIMITER '|', HEADER);
run
DESCRIBE SELECT * FROM '${BENCHMARK_DIR}/lineitem_sf1.csv'

View File

@@ -0,0 +1,17 @@
# name: benchmark/csv/sniffer_quotes.benchmark
# description: Run sniffer on quoted lineitem
# group: [csv]
name CSV Read Benchmark
group csv
require tpch
cache tpch_sf1_lineitem_quoted.duckdb
load
call dbgen(sf=1);
COPY lineitem TO '${BENCHMARK_DIR}/lineitem_quoted.csv' (FORMAT CSV, DELIMITER '|', HEADER, FORCE_QUOTE *);
run
FROM read_csv('${BENCHMARK_DIR}/lineitem_quoted.csv', auto_detect=false, delim='|', quote='"', escape='"', new_line='\n', skip=0, header=true, columns={'l_orderkey': 'BIGINT', 'l_partkey': 'BIGINT', 'l_suppkey': 'BIGINT', 'l_linenumber': 'BIGINT', 'l_quantity': 'DOUBLE', 'l_extendedprice': 'DOUBLE', 'l_discount': 'DOUBLE', 'l_tax': 'DOUBLE', 'l_returnflag': 'VARCHAR', 'l_linestatus': 'VARCHAR', 'l_shipdate': 'DATE', 'l_commitdate': 'DATE', 'l_receiptdate': 'DATE', 'l_shipinstruct': 'VARCHAR', 'l_shipmode': 'VARCHAR', 'l_comment': 'VARCHAR'}, dateformat='%Y-%m-%d');

View File

@@ -0,0 +1,14 @@
# name: benchmark/csv/time_type.benchmark
# description: Run CSV scan with timestamp and date types
# group: [csv]
name CSV Read Benchmark with timestamp and date types
group csv
load
CREATE TABLE t1 AS select '30/07/1992', '30/07/1992 17:15:30';
insert into t1 select '30/07/1992', '30/07/1992 17:15:30' from range(0,10000000) tbl(i);
COPY t1 TO '${BENCHMARK_DIR}/time_timestamp.csv' (FORMAT CSV, HEADER 0);
run
SELECT * from read_csv('${BENCHMARK_DIR}/time_timestamp.csv',delim= ',', header = 0)