Skip to content

TPC-Havoc Q10_v10

TPC-Havoc benchmark · all TPC-Havoc queries

Representative SQL

Rendered for DataFusion with default parameters.

SELECT
c_custkey,
CASE WHEN c_name IS NOT NULL THEN c_name ELSE 'UNKNOWN CUSTOMER' END AS c_name,
SUM(
CASE
WHEN l_returnflag = 'R'
THEN CASE
WHEN l_discount BETWEEN 0.05 AND 0.07
THEN l_extendedprice * (
1 - l_discount
)
WHEN l_discount < 0.05
THEN l_extendedprice * (
1 - l_discount
)
WHEN l_discount > 0.07
THEN l_extendedprice * (
1 - l_discount
)
ELSE l_extendedprice * (
1 - l_discount
)
END
ELSE 0
END
) AS revenue,
c_acctbal,
CASE WHEN n_name IS NOT NULL THEN n_name ELSE 'UNKNOWN NATION' END AS n_name,
c_address,
c_phone,
c_comment
FROM customer, orders, lineitem, nation
WHERE
c_custkey = o_custkey
AND l_orderkey = o_orderkey
AND CASE WHEN o_orderdate >= CAST('1993-10-01' AS DATE) THEN 1 ELSE 0 END = 1
AND CASE
WHEN o_orderdate < CAST('1993-10-01' AS DATE) + INTERVAL '3 MONTH'
THEN 1
ELSE 0
END = 1
AND c_nationkey = n_nationkey
GROUP BY
c_custkey,
c_name,
c_acctbal,
c_phone,
n_name,
c_address,
c_comment
HAVING
SUM(
CASE WHEN l_returnflag = 'R' THEN l_extendedprice * (
1 - l_discount
) ELSE 0 END
) > 0
ORDER BY
revenue DESC

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['10_v10'])

Source

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