Skip to content

JoinOrder Q19b — Canonical JoinOrder 19b

JoinOrder benchmark · all JoinOrder queries

Canonical JoinOrder SQL query 19b; generated DataFrame translation

Representative SQL

Rendered for DataFusion with default parameters.

SELECT
MIN(n.name) AS voicing_actress,
MIN(t.title) AS kung_fu_panda
FROM aka_name AS an, char_name AS chn, cast_info AS ci, company_name AS cn, info_type AS it, movie_companies AS mc, movie_info AS mi, name AS n, role_type AS rt, title AS t
WHERE
ci.note = '(voice)'
AND cn.country_code = '[us]'
AND it.info = 'release dates'
AND mc.note LIKE '%(200%)%'
AND (
mc.note LIKE '%(USA)%' OR mc.note LIKE '%(worldwide)%'
)
AND mi.info IS NOT NULL
AND (
mi.info LIKE 'Japan:%2007%' OR mi.info LIKE 'USA:%2008%'
)
AND n.gender = 'f'
AND n.name LIKE '%Angel%'
AND rt.role = 'actress'
AND t.production_year BETWEEN 2007 AND 2008
AND t.title LIKE '%Kung%Fu%Panda%'
AND t.id = mi.movie_id
AND t.id = mc.movie_id
AND t.id = ci.movie_id
AND mc.movie_id = ci.movie_id
AND mc.movie_id = mi.movie_id
AND mi.movie_id = ci.movie_id
AND cn.id = mc.company_id
AND it.id = mi.info_type_id
AND n.id = ci.person_id
AND rt.id = ci.role_id
AND n.id = an.person_id
AND ci.person_id = an.person_id
AND chn.id = ci.person_role_id

Representative DataFrame

Expression family (Polars, PySpark, DataFusion), default parameters.

def _impl(ctx: DataFrameContext) -> Any:
return _execute_joinorder_expression_query(ctx, query_id)

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 JoinOrder
bench = JoinOrder(scale_factor=1.0) # your scale factor
queries = bench.get_queries(dialect="datafusion") # your platform's dialect; drop dialect= for native SQL
print(queries['19b'])

For the DataFrame form:

from benchbox.core.query_catalog import get_dataframe_render
print(get_dataframe_render('joinorder', '19b', family="expression").source) # or family="pandas"

Source

Query text: benchbox/core/joinorder/queries.py