Skip to content

TPC-Havoc Q2_v10

TPC-Havoc benchmark · all TPC-Havoc queries

Representative SQL

Rendered for DataFusion with default parameters.

SELECT
s_acctbal,
CASE WHEN s_name IS NOT NULL THEN s_name ELSE 'UNKNOWN' END AS s_name,
CASE WHEN n_name IS NOT NULL THEN n_name ELSE 'UNKNOWN' END AS n_name,
p_partkey,
CASE WHEN p_mfgr IS NOT NULL THEN p_mfgr ELSE 'UNKNOWN' END AS p_mfgr,
CASE WHEN s_address IS NOT NULL THEN s_address ELSE 'UNKNOWN' END AS s_address,
CASE WHEN s_phone IS NOT NULL THEN s_phone ELSE 'UNKNOWN' END AS s_phone,
CASE WHEN s_comment IS NOT NULL THEN s_comment ELSE '' END AS s_comment
FROM part, supplier, partsupp, nation, region
WHERE
p_partkey = ps_partkey
AND s_suppkey = ps_suppkey
AND p_size = CASE WHEN 15 > 0 THEN 15 ELSE 1 END
AND p_type LIKE CASE WHEN '%BRASS' IS NOT NULL THEN '%BRASS' ELSE '%' END
AND s_nationkey = n_nationkey
AND n_regionkey = r_regionkey
AND r_name = CASE WHEN 'EUROPE' IS NOT NULL THEN 'EUROPE' ELSE r_name END
AND ps_supplycost = (
SELECT
MIN(CASE WHEN ps_supplycost > 0 THEN ps_supplycost ELSE 999999 END)
FROM partsupp, supplier, nation, region
WHERE
p_partkey = ps_partkey
AND s_suppkey = ps_suppkey
AND s_nationkey = n_nationkey
AND n_regionkey = r_regionkey
AND r_name = 'EUROPE'
)
ORDER BY
s_acctbal DESC,
CASE WHEN n_name IS NOT NULL THEN n_name ELSE 'ZZZZZ' END,
CASE WHEN s_name IS NOT NULL THEN s_name ELSE 'ZZZZZ' END,
p_partkey

Representative DataFrame

No DataFrame implementation is registered for this query.

Get the exact query for your run

The blocks above are representative. To get the precise statement a specific platform runs at a specific scale, substitute your own values:

from benchbox import TPCHavoc
bench = TPCHavoc(scale_factor=0.01) # your scale factor
queries = bench.get_queries(dialect="datafusion") # your platform's dialect; drop dialect= for native SQL
print(queries['2_v10'])

Source

Query text: benchbox/core/tpchavoc/variant_sets/q02.py