Skip to content

TPC-Havoc Q12_v4

TPC-Havoc benchmark · all TPC-Havoc queries

Representative SQL

Rendered for DataFusion with default parameters.

SELECT
l_shipmode,
SUM(high_line_count) AS high_line_count,
SUM(low_line_count) AS low_line_count
FROM (
SELECT
l_shipmode,
SUM(
CASE
WHEN o_orderpriority = '1-URGENT' OR o_orderpriority = '2-HIGH'
THEN 1
ELSE 0
END
) AS high_line_count,
SUM(
CASE
WHEN o_orderpriority <> '1-URGENT' AND o_orderpriority <> '2-HIGH'
THEN 1
ELSE 0
END
) AS low_line_count
FROM orders, lineitem
WHERE
o_orderkey = l_orderkey
AND l_shipmode = 'MAIL'
AND l_commitdate < l_receiptdate
AND l_shipdate < l_commitdate
AND l_receiptdate >= CAST('1994-01-01' AS DATE)
AND l_receiptdate < CAST('1994-01-01' AS DATE) + INTERVAL '1 YEAR'
GROUP BY
l_shipmode
UNION ALL
SELECT
l_shipmode,
SUM(
CASE
WHEN o_orderpriority = '1-URGENT' OR o_orderpriority = '2-HIGH'
THEN 1
ELSE 0
END
) AS high_line_count,
SUM(
CASE
WHEN o_orderpriority <> '1-URGENT' AND o_orderpriority <> '2-HIGH'
THEN 1
ELSE 0
END
) AS low_line_count
FROM orders, lineitem
WHERE
o_orderkey = l_orderkey
AND l_shipmode = 'SHIP'
AND l_commitdate < l_receiptdate
AND l_shipdate < l_commitdate
AND l_receiptdate >= CAST('1994-01-01' AS DATE)
AND l_receiptdate < CAST('1994-01-01' AS DATE) + INTERVAL '1 YEAR'
GROUP BY
l_shipmode
) AS combined
GROUP BY
l_shipmode
ORDER BY
l_shipmode

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['12_v4'])

Source

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