diff --git a/benchmarks/sql_benchmarks/h2o/benchmarks/groupby/q01.benchmark b/benchmarks/sql_benchmarks/h2o/benchmarks/groupby/q01.benchmark new file mode 100644 index 0000000000000..e499243c55002 --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/benchmarks/groupby/q01.benchmark @@ -0,0 +1,20 @@ +subgroup groupby + +name Q01 +group h2o + +echo Loading ${H2O_BENCH_SIZE:-small} groupby ${H2O_FILE_TYPE:-csv} h2o data + +load sql_benchmarks/h2o/init/load_groupby_${H2O_BENCH_SIZE:-small}_${H2O_FILE_TYPE:-csv}.sql + +assert I +SELECT COUNT(*) > 0 FROM x +---- +true + +run +SELECT id1, SUM(v1) AS v1 +FROM x +GROUP BY id1; + +result sql_benchmarks/h2o/results/groupby/${H2O_BENCH_SIZE:-small}/q01.csv diff --git a/benchmarks/sql_benchmarks/h2o/benchmarks/groupby/q02.benchmark b/benchmarks/sql_benchmarks/h2o/benchmarks/groupby/q02.benchmark new file mode 100644 index 0000000000000..a1477574384ce --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/benchmarks/groupby/q02.benchmark @@ -0,0 +1,20 @@ +subgroup groupby + +name Q02 +group h2o + +echo Loading ${H2O_BENCH_SIZE:-small} groupby ${H2O_FILE_TYPE:-csv} h2o data + +load sql_benchmarks/h2o/init/load_groupby_${H2O_BENCH_SIZE:-small}_${H2O_FILE_TYPE:-csv}.sql + +assert I +SELECT COUNT(*) > 0 FROM x +---- +true + +run +SELECT id1, id2, SUM(v1) AS v1 +FROM x +GROUP BY id1, id2; + +result sql_benchmarks/h2o/results/groupby/${H2O_BENCH_SIZE:-small}/q02.csv diff --git a/benchmarks/sql_benchmarks/h2o/benchmarks/groupby/q03.benchmark b/benchmarks/sql_benchmarks/h2o/benchmarks/groupby/q03.benchmark new file mode 100644 index 0000000000000..4368bc9f46217 --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/benchmarks/groupby/q03.benchmark @@ -0,0 +1,20 @@ +subgroup groupby + +name Q03 +group h2o + +echo Loading ${H2O_BENCH_SIZE:-small} groupby ${H2O_FILE_TYPE:-csv} h2o data + +load sql_benchmarks/h2o/init/load_groupby_${H2O_BENCH_SIZE:-small}_${H2O_FILE_TYPE:-csv}.sql + +assert I +SELECT COUNT(*) > 0 FROM x +---- +true + +run +SELECT id3, SUM(v1) AS v1, AVG(v3) AS v3 +FROM x +GROUP BY id3; + +result sql_benchmarks/h2o/results/groupby/${H2O_BENCH_SIZE:-small}/q03.csv diff --git a/benchmarks/sql_benchmarks/h2o/benchmarks/groupby/q04.benchmark b/benchmarks/sql_benchmarks/h2o/benchmarks/groupby/q04.benchmark new file mode 100644 index 0000000000000..1813613e5d2b5 --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/benchmarks/groupby/q04.benchmark @@ -0,0 +1,20 @@ +subgroup groupby + +name Q04 +group h2o + +echo Loading ${H2O_BENCH_SIZE:-small} groupby ${H2O_FILE_TYPE:-csv} h2o data + +load sql_benchmarks/h2o/init/load_groupby_${H2O_BENCH_SIZE:-small}_${H2O_FILE_TYPE:-csv}.sql + +assert I +SELECT COUNT(*) > 0 FROM x +---- +true + +run +SELECT id4, AVG(v1) AS v1, AVG(v2) AS v2, AVG(v3) AS v3 +FROM x +GROUP BY id4; + +result sql_benchmarks/h2o/results/groupby/${H2O_BENCH_SIZE:-small}/q04.csv diff --git a/benchmarks/sql_benchmarks/h2o/benchmarks/groupby/q05.benchmark b/benchmarks/sql_benchmarks/h2o/benchmarks/groupby/q05.benchmark new file mode 100644 index 0000000000000..dc6b4a4feaa90 --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/benchmarks/groupby/q05.benchmark @@ -0,0 +1,20 @@ +subgroup groupby + +name Q05 +group h2o + +echo Loading ${H2O_BENCH_SIZE:-small} groupby ${H2O_FILE_TYPE:-csv} h2o data + +load sql_benchmarks/h2o/init/load_groupby_${H2O_BENCH_SIZE:-small}_${H2O_FILE_TYPE:-csv}.sql + +assert I +SELECT COUNT(*) > 0 FROM x +---- +true + +run +SELECT id6, SUM(v1) AS v1, SUM(v2) AS v2, SUM(v3) AS v3 +FROM x +GROUP BY id6; + +result sql_benchmarks/h2o/results/groupby/${H2O_BENCH_SIZE:-small}/q05.csv diff --git a/benchmarks/sql_benchmarks/h2o/benchmarks/groupby/q06.benchmark b/benchmarks/sql_benchmarks/h2o/benchmarks/groupby/q06.benchmark new file mode 100644 index 0000000000000..67eaeafaf804b --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/benchmarks/groupby/q06.benchmark @@ -0,0 +1,20 @@ +subgroup groupby + +name Q06 +group h2o + +echo Loading ${H2O_BENCH_SIZE:-small} groupby ${H2O_FILE_TYPE:-csv} h2o data + +load sql_benchmarks/h2o/init/load_groupby_${H2O_BENCH_SIZE:-small}_${H2O_FILE_TYPE:-csv}.sql + +assert I +SELECT COUNT(*) > 0 FROM x +---- +true + +run +SELECT id4, id5, MEDIAN(v3) AS median_v3, STDDEV(v3) AS sd_v3 +FROM x +GROUP BY id4, id5; + +result sql_benchmarks/h2o/results/groupby/${H2O_BENCH_SIZE:-small}/q06.csv diff --git a/benchmarks/sql_benchmarks/h2o/benchmarks/groupby/q07.benchmark b/benchmarks/sql_benchmarks/h2o/benchmarks/groupby/q07.benchmark new file mode 100644 index 0000000000000..faa125eb9ec55 --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/benchmarks/groupby/q07.benchmark @@ -0,0 +1,20 @@ +subgroup groupby + +name Q07 +group h2o + +echo Loading ${H2O_BENCH_SIZE:-small} groupby ${H2O_FILE_TYPE:-csv} h2o data + +load sql_benchmarks/h2o/init/load_groupby_${H2O_BENCH_SIZE:-small}_${H2O_FILE_TYPE:-csv}.sql + +assert I +SELECT COUNT(*) > 0 FROM x +---- +true + +run +SELECT id3, MAX(v1) - MIN(v2) AS range_v1_v2 +FROM x +GROUP BY id3; + +result sql_benchmarks/h2o/results/groupby/${H2O_BENCH_SIZE:-small}/q07.csv diff --git a/benchmarks/sql_benchmarks/h2o/benchmarks/groupby/q08.benchmark b/benchmarks/sql_benchmarks/h2o/benchmarks/groupby/q08.benchmark new file mode 100644 index 0000000000000..54d46080c678d --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/benchmarks/groupby/q08.benchmark @@ -0,0 +1,22 @@ +subgroup groupby + +name Q08 +group h2o + +echo Loading ${H2O_BENCH_SIZE:-small} groupby ${H2O_FILE_TYPE:-csv} h2o data + +load sql_benchmarks/h2o/init/load_groupby_${H2O_BENCH_SIZE:-small}_${H2O_FILE_TYPE:-csv}.sql + +assert I +SELECT COUNT(*) > 0 FROM x +---- +true + +run +SELECT id6, largest2_v3 FROM + ( + SELECT id6, v3 AS largest2_v3, ROW_NUMBER() OVER (PARTITION BY id6 ORDER BY v3 DESC) AS order_v3 + FROM x WHERE v3 IS NOT NULL + ) sub_query WHERE order_v3 <= 2; + +result sql_benchmarks/h2o/results/groupby/${H2O_BENCH_SIZE:-small}/q08.csv diff --git a/benchmarks/sql_benchmarks/h2o/benchmarks/groupby/q09.benchmark b/benchmarks/sql_benchmarks/h2o/benchmarks/groupby/q09.benchmark new file mode 100644 index 0000000000000..133ddef5c296e --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/benchmarks/groupby/q09.benchmark @@ -0,0 +1,20 @@ +subgroup groupby + +name Q09 +group h2o + +echo Loading ${H2O_BENCH_SIZE:-small} groupby ${H2O_FILE_TYPE:-csv} h2o data + +load sql_benchmarks/h2o/init/load_groupby_${H2O_BENCH_SIZE:-small}_${H2O_FILE_TYPE:-csv}.sql + +assert I +SELECT COUNT(*) > 0 FROM x +---- +true + +run +SELECT id2, id4, POWER(CORR(v1, v2), 2) AS r2 +FROM x +GROUP BY id2, id4; + +result sql_benchmarks/h2o/results/groupby/${H2O_BENCH_SIZE:-small}/q09.csv diff --git a/benchmarks/sql_benchmarks/h2o/benchmarks/groupby/q10.benchmark b/benchmarks/sql_benchmarks/h2o/benchmarks/groupby/q10.benchmark new file mode 100644 index 0000000000000..a302ef2408260 --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/benchmarks/groupby/q10.benchmark @@ -0,0 +1,18 @@ +subgroup groupby + +name Q10 +group h2o + +echo Loading ${H2O_BENCH_SIZE:-small} groupby ${H2O_FILE_TYPE:-csv} h2o data + +load sql_benchmarks/h2o/init/load_groupby_${H2O_BENCH_SIZE:-small}_${H2O_FILE_TYPE:-csv}.sql + +assert I +SELECT COUNT(*) > 0 FROM x +---- +true + +run +SELECT id1, id2, id3, id4, id5, id6, SUM(v3) AS v3, COUNT(*) AS count FROM x GROUP BY id1, id2, id3, id4, id5, id6; + +result sql_benchmarks/h2o/results/groupby/${H2O_BENCH_SIZE:-small}/q10.csv diff --git a/benchmarks/sql_benchmarks/h2o/benchmarks/join/q01.benchmark b/benchmarks/sql_benchmarks/h2o/benchmarks/join/q01.benchmark new file mode 100644 index 0000000000000..4271ba8e43efc --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/benchmarks/join/q01.benchmark @@ -0,0 +1,28 @@ +subgroup join + +name Q01 +group h2o + +echo Loading ${H2O_BENCH_SIZE:-small} join ${H2O_FILE_TYPE:-csv} h2o data + +load sql_benchmarks/h2o/init/load_join_${H2O_BENCH_SIZE:-small}_${H2O_FILE_TYPE:-csv}.sql + +assert I +SELECT COUNT(*) > 0 FROM x +---- +true + +run +SELECT x.id1, + x.id2, + x.id3, + x.id4 as xid4, + small.id4 as smallid4, + x.id5, + x.id6, + x.v1, + small.v2 +FROM x +INNER JOIN small ON x.id1 = small.id1; + +result sql_benchmarks/h2o/results/join/${H2O_BENCH_SIZE:-small}/q01.csv diff --git a/benchmarks/sql_benchmarks/h2o/benchmarks/join/q02.benchmark b/benchmarks/sql_benchmarks/h2o/benchmarks/join/q02.benchmark new file mode 100644 index 0000000000000..48369c4a58197 --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/benchmarks/join/q02.benchmark @@ -0,0 +1,30 @@ +subgroup join + +name Q02 +group h2o + +echo Loading ${H2O_BENCH_SIZE:-small} join ${H2O_FILE_TYPE:-csv} h2o data + +load sql_benchmarks/h2o/init/load_join_${H2O_BENCH_SIZE:-small}_${H2O_FILE_TYPE:-csv}.sql + +assert I +SELECT COUNT(*) > 0 FROM x +---- +true + +run +SELECT x.id1 as xid1, + medium.id1 as mediumid1, + x.id2, + x.id3, + x.id4 as xid4, + medium.id4 as mediumid4, + x.id5 as xid5, + medium.id5 as mediumid5, + x.id6, + x.v1, + medium.v2 +FROM x +INNER JOIN medium ON x.id2 = medium.id2; + +result sql_benchmarks/h2o/results/join/${H2O_BENCH_SIZE:-small}/q02.csv diff --git a/benchmarks/sql_benchmarks/h2o/benchmarks/join/q03.benchmark b/benchmarks/sql_benchmarks/h2o/benchmarks/join/q03.benchmark new file mode 100644 index 0000000000000..abf7296b2128e --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/benchmarks/join/q03.benchmark @@ -0,0 +1,30 @@ +subgroup join + +name Q03 +group h2o + +echo Loading ${H2O_BENCH_SIZE:-small} join ${H2O_FILE_TYPE:-csv} h2o data + +load sql_benchmarks/h2o/init/load_join_${H2O_BENCH_SIZE:-small}_${H2O_FILE_TYPE:-csv}.sql + +assert I +SELECT COUNT(*) > 0 FROM x +---- +true + +run +SELECT x.id1 as xid1, + medium.id1 as mediumid1, + x.id2, + x.id3, + x.id4 as xid4, + medium.id4 as mediumid4, + x.id5 as xid5, + medium.id5 as mediumid5, + x.id6, + x.v1, + medium.v2 +FROM x +LEFT JOIN medium ON x.id2 = medium.id2; + +result sql_benchmarks/h2o/results/join/${H2O_BENCH_SIZE:-small}/q03.csv diff --git a/benchmarks/sql_benchmarks/h2o/benchmarks/join/q04.benchmark b/benchmarks/sql_benchmarks/h2o/benchmarks/join/q04.benchmark new file mode 100644 index 0000000000000..8884fb38e8a5d --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/benchmarks/join/q04.benchmark @@ -0,0 +1,30 @@ +subgroup join + +name Q04 +group h2o + +echo Loading ${H2O_BENCH_SIZE:-small} join ${H2O_FILE_TYPE:-csv} h2o data + +load sql_benchmarks/h2o/init/load_join_${H2O_BENCH_SIZE:-small}_${H2O_FILE_TYPE:-csv}.sql + +assert I +SELECT COUNT(*) > 0 FROM x +---- +true + +run +SELECT x.id1 as xid1, + medium.id1 as mediumid1, + x.id2, + x.id3, + x.id4 as xid4, + medium.id4 as mediumid4, + x.id5 as xid5, + medium.id5 as mediumid5, + x.id6, + x.v1, + medium.v2 +FROM x +JOIN medium ON x.id5 = medium.id5; + +result sql_benchmarks/h2o/results/join/${H2O_BENCH_SIZE:-small}/q04.csv diff --git a/benchmarks/sql_benchmarks/h2o/benchmarks/join/q05.benchmark b/benchmarks/sql_benchmarks/h2o/benchmarks/join/q05.benchmark new file mode 100644 index 0000000000000..19a5c47bfe093 --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/benchmarks/join/q05.benchmark @@ -0,0 +1,32 @@ +subgroup join + +name Q05 +group h2o + +echo Loading ${H2O_BENCH_SIZE:-small} join ${H2O_FILE_TYPE:-csv} h2o data + +load sql_benchmarks/h2o/init/load_join_${H2O_BENCH_SIZE:-small}_${H2O_FILE_TYPE:-csv}.sql + +assert I +SELECT COUNT(*) > 0 FROM x +---- +true + +run +SELECT x.id1 as xid1, + large.id1 as largeid1, + x.id2 as xid2, + large.id2 as largeid2, + x.id3, + x.id4 as xid4, + large.id4 as largeid4, + x.id5 as xid5, + large.id5 as largeid5, + x.id6 as xid6, + large.id6 as largeid6, + x.v1, + large.v2 +FROM x +JOIN large ON x.id3 = large.id3; + +result sql_benchmarks/h2o/results/join/${H2O_BENCH_SIZE:-small}/q05.csv diff --git a/benchmarks/sql_benchmarks/h2o/benchmarks/window/q01.benchmark b/benchmarks/sql_benchmarks/h2o/benchmarks/window/q01.benchmark new file mode 100644 index 0000000000000..4a95f07cc18d7 --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/benchmarks/window/q01.benchmark @@ -0,0 +1,25 @@ +subgroup window + +name Q01 +group h2o + +echo Loading ${H2O_BENCH_SIZE:-small} window ${H2O_FILE_TYPE:-csv} h2o data + +load sql_benchmarks/h2o/init/load_window_${H2O_BENCH_SIZE:-small}_${H2O_FILE_TYPE:-csv}.sql + +assert I +SELECT COUNT(*) > 0 FROM x +---- +true + +run +-- Basic Window +SELECT + id1, + id2, + id3, + v2, + sum(v2) OVER () AS window_basic +FROM x; + +result sql_benchmarks/h2o/results/window/${H2O_BENCH_SIZE:-small}/q01.csv diff --git a/benchmarks/sql_benchmarks/h2o/benchmarks/window/q02.benchmark b/benchmarks/sql_benchmarks/h2o/benchmarks/window/q02.benchmark new file mode 100644 index 0000000000000..8bc4b605b8d33 --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/benchmarks/window/q02.benchmark @@ -0,0 +1,26 @@ +subgroup window + +name Q02 +group h2o + +echo Loading ${H2O_BENCH_SIZE:-small} window ${H2O_FILE_TYPE:-csv} h2o data + +load sql_benchmarks/h2o/init/load_window_${H2O_BENCH_SIZE:-small}_${H2O_FILE_TYPE:-csv}.sql + +assert I +SELECT COUNT(*) > 0 FROM x +---- +true + +run +-- Sorted Window +SELECT + id1, + id2, + id3, + v2, + first_value(v2) OVER (ORDER BY id3) AS first_order_by, + row_number() OVER (ORDER BY id3) AS row_number_order_by +FROM x; + +result sql_benchmarks/h2o/results/window/${H2O_BENCH_SIZE:-small}/q02.csv diff --git a/benchmarks/sql_benchmarks/h2o/benchmarks/window/q03.benchmark b/benchmarks/sql_benchmarks/h2o/benchmarks/window/q03.benchmark new file mode 100644 index 0000000000000..53f5cff31837b --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/benchmarks/window/q03.benchmark @@ -0,0 +1,27 @@ +subgroup window + +name Q03 +group h2o + +echo Loading ${H2O_BENCH_SIZE:-small} window ${H2O_FILE_TYPE:-csv} h2o data + +load sql_benchmarks/h2o/init/load_window_${H2O_BENCH_SIZE:-small}_${H2O_FILE_TYPE:-csv}.sql + +assert I +SELECT COUNT(*) > 0 FROM x +---- +true + +run +-- PARTITION BY +SELECT + id1, + id2, + id3, + v2, + sum(v2) OVER (PARTITION BY id1) AS sum_by_id1, + sum(v2) OVER (PARTITION BY id2) AS sum_by_id2, + sum(v2) OVER (PARTITION BY id3) AS sum_by_id3 +FROM x; + +result sql_benchmarks/h2o/results/window/${H2O_BENCH_SIZE:-small}/q03.csv diff --git a/benchmarks/sql_benchmarks/h2o/benchmarks/window/q04.benchmark b/benchmarks/sql_benchmarks/h2o/benchmarks/window/q04.benchmark new file mode 100644 index 0000000000000..0111235ebb8e9 --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/benchmarks/window/q04.benchmark @@ -0,0 +1,25 @@ +subgroup window + +name Q04 +group h2o + +echo Loading ${H2O_BENCH_SIZE:-small} window ${H2O_FILE_TYPE:-csv} h2o data + +load sql_benchmarks/h2o/init/load_window_${H2O_BENCH_SIZE:-small}_${H2O_FILE_TYPE:-csv}.sql + +assert I +SELECT COUNT(*) > 0 FROM x +---- +true + +run +-- PARTITION BY ORDER BY +SELECT + id1, + id2, + id3, + v2, + first_value(v2) OVER (PARTITION BY id2 ORDER BY id3) AS first_by_id2_ordered_by_id3 +FROM x; + +result sql_benchmarks/h2o/results/window/${H2O_BENCH_SIZE:-small}/q04.csv diff --git a/benchmarks/sql_benchmarks/h2o/benchmarks/window/q05.benchmark b/benchmarks/sql_benchmarks/h2o/benchmarks/window/q05.benchmark new file mode 100644 index 0000000000000..e75827f8aafb9 --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/benchmarks/window/q05.benchmark @@ -0,0 +1,26 @@ +subgroup window + +name Q05 +group h2o + +echo Loading ${H2O_BENCH_SIZE:-small} window ${H2O_FILE_TYPE:-csv} h2o data + +load sql_benchmarks/h2o/init/load_window_${H2O_BENCH_SIZE:-small}_${H2O_FILE_TYPE:-csv}.sql + +assert I +SELECT COUNT(*) > 0 FROM x +---- +true + +run +-- Lead and Lag +SELECT + id1, + id2, + id3, + v2, + first_value(v2) OVER (ORDER BY id3 ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS my_lag, + first_value(v2) OVER (ORDER BY id3 ROWS BETWEEN 1 FOLLOWING AND 1 FOLLOWING) AS my_lead +FROM x; + +result sql_benchmarks/h2o/results/window/${H2O_BENCH_SIZE:-small}/q05.csv diff --git a/benchmarks/sql_benchmarks/h2o/benchmarks/window/q06.benchmark b/benchmarks/sql_benchmarks/h2o/benchmarks/window/q06.benchmark new file mode 100644 index 0000000000000..8d58e41f4ef21 --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/benchmarks/window/q06.benchmark @@ -0,0 +1,25 @@ +subgroup window + +name Q06 +group h2o + +echo Loading ${H2O_BENCH_SIZE:-small} window ${H2O_FILE_TYPE:-csv} h2o data + +load sql_benchmarks/h2o/init/load_window_${H2O_BENCH_SIZE:-small}_${H2O_FILE_TYPE:-csv}.sql + +assert I +SELECT COUNT(*) > 0 FROM x +---- +true + +run +-- Moving Averages +SELECT + id1, + id2, + id3, + v2, + avg(v2) OVER (ORDER BY id3 ROWS BETWEEN 100 PRECEDING AND CURRENT ROW) AS my_moving_average +FROM x; + +result sql_benchmarks/h2o/results/window/${H2O_BENCH_SIZE:-small}/q06.csv diff --git a/benchmarks/sql_benchmarks/h2o/benchmarks/window/q07.benchmark b/benchmarks/sql_benchmarks/h2o/benchmarks/window/q07.benchmark new file mode 100644 index 0000000000000..f0d8abdbc4aa3 --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/benchmarks/window/q07.benchmark @@ -0,0 +1,25 @@ +subgroup window + +name Q07 +group h2o + +echo Loading ${H2O_BENCH_SIZE:-small} window ${H2O_FILE_TYPE:-csv} h2o data + +load sql_benchmarks/h2o/init/load_window_${H2O_BENCH_SIZE:-small}_${H2O_FILE_TYPE:-csv}.sql + +assert I +SELECT COUNT(*) > 0 FROM x +---- +true + +run +-- Rolling Sum +SELECT + id1, + id2, + id3, + v2, + sum(v2) OVER (ORDER BY id3 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS my_rolling_sum +FROM x; + +result sql_benchmarks/h2o/results/window/${H2O_BENCH_SIZE:-small}/q07.csv diff --git a/benchmarks/sql_benchmarks/h2o/benchmarks/window/q08.benchmark b/benchmarks/sql_benchmarks/h2o/benchmarks/window/q08.benchmark new file mode 100644 index 0000000000000..599c331d45be8 --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/benchmarks/window/q08.benchmark @@ -0,0 +1,25 @@ +subgroup window + +name Q08 +group h2o + +echo Loading ${H2O_BENCH_SIZE:-small} window ${H2O_FILE_TYPE:-csv} h2o data + +load sql_benchmarks/h2o/init/load_window_${H2O_BENCH_SIZE:-small}_${H2O_FILE_TYPE:-csv}.sql + +assert I +SELECT COUNT(*) > 0 FROM x +---- +true + +run +-- RANGE BETWEEN +SELECT + id1, + id2, + id3, + v2, + sum(v2) OVER (ORDER BY v2 RANGE BETWEEN 3 PRECEDING AND CURRENT ROW) AS my_range_between +FROM x; + +result sql_benchmarks/h2o/results/window/${H2O_BENCH_SIZE:-small}/q08.csv diff --git a/benchmarks/sql_benchmarks/h2o/benchmarks/window/q09.benchmark b/benchmarks/sql_benchmarks/h2o/benchmarks/window/q09.benchmark new file mode 100644 index 0000000000000..286e3dfd0f9cc --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/benchmarks/window/q09.benchmark @@ -0,0 +1,26 @@ +subgroup window + +name Q09 +group h2o + +echo Loading ${H2O_BENCH_SIZE:-small} window ${H2O_FILE_TYPE:-csv} h2o data + +load sql_benchmarks/h2o/init/load_window_${H2O_BENCH_SIZE:-small}_${H2O_FILE_TYPE:-csv}.sql + +assert I +SELECT COUNT(*) > 0 FROM x +---- +true + +run +-- First PARTITION BY ROWS BETWEEN +SELECT + id1, + id2, + id3, + v2, + first_value(v2) OVER (PARTITION BY id2 ORDER BY id3 ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS my_lag_by_id2, + first_value(v2) OVER (PARTITION BY id2 ORDER BY id3 ROWS BETWEEN 1 FOLLOWING AND 1 FOLLOWING) AS my_lead_by_id2 +FROM x; + +result sql_benchmarks/h2o/results/window/${H2O_BENCH_SIZE:-small}/q09.csv diff --git a/benchmarks/sql_benchmarks/h2o/benchmarks/window/q10.benchmark b/benchmarks/sql_benchmarks/h2o/benchmarks/window/q10.benchmark new file mode 100644 index 0000000000000..92cfffe233464 --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/benchmarks/window/q10.benchmark @@ -0,0 +1,25 @@ +subgroup window + +name Q10 +group h2o + +echo Loading ${H2O_BENCH_SIZE:-small} window ${H2O_FILE_TYPE:-csv} h2o data + +load sql_benchmarks/h2o/init/load_window_${H2O_BENCH_SIZE:-small}_${H2O_FILE_TYPE:-csv}.sql + +assert I +SELECT COUNT(*) > 0 FROM x +---- +true + +run +-- Moving Averages PARTITION BY +SELECT + id1, + id2, + id3, + v2, + avg(v2) OVER (PARTITION BY id2 ORDER BY id3 ROWS BETWEEN 100 PRECEDING AND CURRENT ROW) AS my_moving_average_by_id2 +FROM x; + +result sql_benchmarks/h2o/results/window/${H2O_BENCH_SIZE:-small}/q10.csv diff --git a/benchmarks/sql_benchmarks/h2o/benchmarks/window/q11.benchmark b/benchmarks/sql_benchmarks/h2o/benchmarks/window/q11.benchmark new file mode 100644 index 0000000000000..509b0931d8ce7 --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/benchmarks/window/q11.benchmark @@ -0,0 +1,25 @@ +subgroup window + +name Q11 +group h2o + +echo Loading ${H2O_BENCH_SIZE:-small} window ${H2O_FILE_TYPE:-csv} h2o data + +load sql_benchmarks/h2o/init/load_window_${H2O_BENCH_SIZE:-small}_${H2O_FILE_TYPE:-csv}.sql + +assert I +SELECT COUNT(*) > 0 FROM x +---- +true + +run +-- Rolling Sum PARTITION BY +SELECT + id1, + id2, + id3, + v2, + sum(v2) OVER (PARTITION BY id2 ORDER BY id3 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS my_rolling_sum_by_id2 +FROM x; + +result sql_benchmarks/h2o/results/window/${H2O_BENCH_SIZE:-small}/q11.csv diff --git a/benchmarks/sql_benchmarks/h2o/benchmarks/window/q12.benchmark b/benchmarks/sql_benchmarks/h2o/benchmarks/window/q12.benchmark new file mode 100644 index 0000000000000..c63777d704503 --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/benchmarks/window/q12.benchmark @@ -0,0 +1,25 @@ +subgroup window + +name Q12 +group h2o + +echo Loading ${H2O_BENCH_SIZE:-small} window ${H2O_FILE_TYPE:-csv} h2o data + +load sql_benchmarks/h2o/init/load_window_${H2O_BENCH_SIZE:-small}_${H2O_FILE_TYPE:-csv}.sql + +assert I +SELECT COUNT(*) > 0 FROM x +---- +true + +run +-- RANGE BETWEEN PARTITION BY +SELECT + id1, + id2, + id3, + v2, + sum(v2) OVER (PARTITION BY id2 ORDER BY v2 RANGE BETWEEN 3 PRECEDING AND CURRENT ROW) AS my_range_between_by_id2 +FROM x; + +result sql_benchmarks/h2o/results/window/${H2O_BENCH_SIZE:-small}/q12.csv diff --git a/benchmarks/sql_benchmarks/h2o/init/load_groupby_big_csv.sql b/benchmarks/sql_benchmarks/h2o/init/load_groupby_big_csv.sql new file mode 100644 index 0000000000000..877fc43a019be --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/init/load_groupby_big_csv.sql @@ -0,0 +1 @@ +CREATE EXTERNAL TABLE x STORED AS CSV LOCATION 'data/h2o/G1_1e9_1e9_100_0.csv'; \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/h2o/init/load_groupby_big_parquet.sql b/benchmarks/sql_benchmarks/h2o/init/load_groupby_big_parquet.sql new file mode 100644 index 0000000000000..7d90001d8b651 --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/init/load_groupby_big_parquet.sql @@ -0,0 +1 @@ +CREATE EXTERNAL TABLE x STORED AS PARQUET LOCATION 'data/h2o/G1_1e9_1e9_100_0.parquet'; diff --git a/benchmarks/sql_benchmarks/h2o/init/load_groupby_medium_csv.sql b/benchmarks/sql_benchmarks/h2o/init/load_groupby_medium_csv.sql new file mode 100644 index 0000000000000..1d65912b565b5 --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/init/load_groupby_medium_csv.sql @@ -0,0 +1 @@ +CREATE EXTERNAL TABLE x STORED AS CSV LOCATION 'data/h2o/G1_1e8_1e8_100_0.csv'; diff --git a/benchmarks/sql_benchmarks/h2o/init/load_groupby_medium_parquet.sql b/benchmarks/sql_benchmarks/h2o/init/load_groupby_medium_parquet.sql new file mode 100644 index 0000000000000..b9e54da6692fe --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/init/load_groupby_medium_parquet.sql @@ -0,0 +1 @@ +CREATE EXTERNAL TABLE x STORED AS PARQUET LOCATION 'data/h2o/G1_1e8_1e8_100_0.parquet'; \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/h2o/init/load_groupby_small_csv.sql b/benchmarks/sql_benchmarks/h2o/init/load_groupby_small_csv.sql new file mode 100644 index 0000000000000..602164fb5a697 --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/init/load_groupby_small_csv.sql @@ -0,0 +1 @@ +CREATE EXTERNAL TABLE x STORED AS CSV LOCATION 'data/h2o/G1_1e7_1e7_100_0.csv'; diff --git a/benchmarks/sql_benchmarks/h2o/init/load_groupby_small_parquet.sql b/benchmarks/sql_benchmarks/h2o/init/load_groupby_small_parquet.sql new file mode 100644 index 0000000000000..c2fc8bfbc455a --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/init/load_groupby_small_parquet.sql @@ -0,0 +1 @@ +CREATE EXTERNAL TABLE x STORED AS PARQUET LOCATION 'data/h2o/G1_1e7_1e7_100_0.parquet'; \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/h2o/init/load_join_big_csv.sql b/benchmarks/sql_benchmarks/h2o/init/load_join_big_csv.sql new file mode 100644 index 0000000000000..aeb9ebfdc5d3b --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/init/load_join_big_csv.sql @@ -0,0 +1,7 @@ +CREATE EXTERNAL TABLE x STORED AS CSV LOCATION 'data/h2o/J1_1e9_NA_0.csv'; + +CREATE EXTERNAL TABLE small STORED AS CSV LOCATION 'data/h2o/J1_1e9_1e3_0.csv'; + +CREATE EXTERNAL TABLE medium STORED AS CSV LOCATION 'data/h2o/J1_1e9_1e6_0.csv'; + +CREATE EXTERNAL TABLE large STORED AS CSV LOCATION 'data/h2o/J1_1e9_1e9_NA.csv'; diff --git a/benchmarks/sql_benchmarks/h2o/init/load_join_big_parquet.sql b/benchmarks/sql_benchmarks/h2o/init/load_join_big_parquet.sql new file mode 100644 index 0000000000000..1a01912130c5e --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/init/load_join_big_parquet.sql @@ -0,0 +1,7 @@ +CREATE EXTERNAL TABLE x STORED AS PARQUET LOCATION 'data/h2o/J1_1e9_NA_0.parquet'; + +CREATE EXTERNAL TABLE small STORED AS PARQUET LOCATION 'data/h2o/J1_1e9_1e3_0.parquet'; + +CREATE EXTERNAL TABLE medium STORED AS PARQUET LOCATION 'data/h2o/J1_1e9_1e6_0.parquet'; + +CREATE EXTERNAL TABLE large STORED AS PARQUET LOCATION 'data/h2o/J1_1e9_1e9_NA.parquet'; diff --git a/benchmarks/sql_benchmarks/h2o/init/load_join_medium_csv.sql b/benchmarks/sql_benchmarks/h2o/init/load_join_medium_csv.sql new file mode 100644 index 0000000000000..45b46ed739c95 --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/init/load_join_medium_csv.sql @@ -0,0 +1,7 @@ +CREATE EXTERNAL TABLE x STORED AS CSV LOCATION 'data/h2o/J1_1e8_NA_0.csv'; + +CREATE EXTERNAL TABLE small STORED AS CSV LOCATION 'data/h2o/J1_1e8_1e2_0.csv'; + +CREATE EXTERNAL TABLE medium STORED AS CSV LOCATION 'data/h2o/J1_1e8_1e5_0.csv'; + +CREATE EXTERNAL TABLE large STORED AS CSV LOCATION 'data/h2o/J1_1e8_1e8_NA.csv'; diff --git a/benchmarks/sql_benchmarks/h2o/init/load_join_medium_parquet.sql b/benchmarks/sql_benchmarks/h2o/init/load_join_medium_parquet.sql new file mode 100644 index 0000000000000..115a6ccea39e0 --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/init/load_join_medium_parquet.sql @@ -0,0 +1,7 @@ +CREATE EXTERNAL TABLE x STORED AS PARQUET LOCATION 'data/h2o/J1_1e8_NA_0.parquet'; + +CREATE EXTERNAL TABLE small STORED AS PARQUET LOCATION 'data/h2o/J1_1e8_1e2_0.parquet'; + +CREATE EXTERNAL TABLE medium STORED AS PARQUET LOCATION 'data/h2o/J1_1e8_1e5_0.parquet'; + +CREATE EXTERNAL TABLE large STORED AS PARQUET LOCATION 'data/h2o/J1_1e8_1e8_NA.parquet'; diff --git a/benchmarks/sql_benchmarks/h2o/init/load_join_small_csv.sql b/benchmarks/sql_benchmarks/h2o/init/load_join_small_csv.sql new file mode 100644 index 0000000000000..b01133979a347 --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/init/load_join_small_csv.sql @@ -0,0 +1,7 @@ +CREATE EXTERNAL TABLE x STORED AS CSV LOCATION 'data/h2o/J1_1e7_NA_0.csv'; + +CREATE EXTERNAL TABLE small STORED AS CSV LOCATION 'data/h2o/J1_1e7_1e1_0.csv'; + +CREATE EXTERNAL TABLE medium STORED AS CSV LOCATION 'data/h2o/J1_1e7_1e4_0.csv'; + +CREATE EXTERNAL TABLE large STORED AS CSV LOCATION 'data/h2o/J1_1e7_1e7_NA.csv'; diff --git a/benchmarks/sql_benchmarks/h2o/init/load_join_small_parquet.sql b/benchmarks/sql_benchmarks/h2o/init/load_join_small_parquet.sql new file mode 100644 index 0000000000000..a0b592f3490d6 --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/init/load_join_small_parquet.sql @@ -0,0 +1,7 @@ +CREATE EXTERNAL TABLE x STORED AS PARQUET LOCATION 'data/h2o/J1_1e7_NA_0.parquet'; + +CREATE EXTERNAL TABLE small STORED AS PARQUET LOCATION 'data/h2o/J1_1e7_1e1_0.parquet'; + +CREATE EXTERNAL TABLE medium STORED AS PARQUET LOCATION 'data/h2o/J1_1e7_1e4_0.parquet'; + +CREATE EXTERNAL TABLE large STORED AS PARQUET LOCATION 'data/h2o/J1_1e7_1e7_NA.parquet'; diff --git a/benchmarks/sql_benchmarks/h2o/init/load_window_big_csv.sql b/benchmarks/sql_benchmarks/h2o/init/load_window_big_csv.sql new file mode 100644 index 0000000000000..e4b5dc5e35ae8 --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/init/load_window_big_csv.sql @@ -0,0 +1 @@ +CREATE EXTERNAL TABLE x STORED AS CSV LOCATION 'data/h2o/J1_1e9_1e9_NA.csv'; diff --git a/benchmarks/sql_benchmarks/h2o/init/load_window_big_parquet.sql b/benchmarks/sql_benchmarks/h2o/init/load_window_big_parquet.sql new file mode 100644 index 0000000000000..d176e0881bebe --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/init/load_window_big_parquet.sql @@ -0,0 +1 @@ +CREATE EXTERNAL TABLE x STORED AS PARQUET LOCATION 'data/h2o/J1_1e9_1e9_NA.parquet'; diff --git a/benchmarks/sql_benchmarks/h2o/init/load_window_medium_csv.sql b/benchmarks/sql_benchmarks/h2o/init/load_window_medium_csv.sql new file mode 100644 index 0000000000000..55da762bca44e --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/init/load_window_medium_csv.sql @@ -0,0 +1 @@ +CREATE EXTERNAL TABLE x STORED AS CSV LOCATION 'data/h2o/J1_1e8_1e8_NA.csv'; diff --git a/benchmarks/sql_benchmarks/h2o/init/load_window_medium_parquet.sql b/benchmarks/sql_benchmarks/h2o/init/load_window_medium_parquet.sql new file mode 100644 index 0000000000000..e03aa08c91c5c --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/init/load_window_medium_parquet.sql @@ -0,0 +1 @@ +CREATE EXTERNAL TABLE x STORED AS PARQUET LOCATION 'data/h2o/J1_1e8_1e8_NA.parquet'; diff --git a/benchmarks/sql_benchmarks/h2o/init/load_window_small_csv.sql b/benchmarks/sql_benchmarks/h2o/init/load_window_small_csv.sql new file mode 100644 index 0000000000000..7a5c58798fc9c --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/init/load_window_small_csv.sql @@ -0,0 +1 @@ +CREATE EXTERNAL TABLE x STORED AS CSV LOCATION 'data/h2o/J1_1e7_1e7_NA.csv'; diff --git a/benchmarks/sql_benchmarks/h2o/init/load_window_small_parquet.sql b/benchmarks/sql_benchmarks/h2o/init/load_window_small_parquet.sql new file mode 100644 index 0000000000000..d963eea3a0bf2 --- /dev/null +++ b/benchmarks/sql_benchmarks/h2o/init/load_window_small_parquet.sql @@ -0,0 +1 @@ +CREATE EXTERNAL TABLE x STORED AS PARQUET LOCATION 'data/h2o/J1_1e7_1e7_NA.parquet';