Skip to content

JoinOrder Q33b — Canonical JoinOrder 33b

JoinOrder benchmark · all JoinOrder queries

Canonical JoinOrder SQL query 33b; generated DataFrame translation

Representative SQL

Rendered for DataFusion with default parameters.

SELECT
MIN(cn1.name) AS first_company,
MIN(cn2.name) AS second_company,
MIN(mi_idx1.info) AS first_rating,
MIN(mi_idx2.info) AS second_rating,
MIN(t1.title) AS first_movie,
MIN(t2.title) AS second_movie
FROM company_name AS cn1, company_name AS cn2, info_type AS it1, info_type AS it2, kind_type AS kt1, kind_type AS kt2, link_type AS lt, movie_companies AS mc1, movie_companies AS mc2, movie_info_idx AS mi_idx1, movie_info_idx AS mi_idx2, movie_link AS ml, title AS t1, title AS t2
WHERE
cn1.country_code = '[nl]'
AND it1.info = 'rating'
AND it2.info = 'rating'
AND kt1.kind IN ('tv series')
AND kt2.kind IN ('tv series')
AND lt.link LIKE '%follow%'
AND mi_idx2.info < '3.0'
AND t2.production_year = 2007
AND lt.id = ml.link_type_id
AND t1.id = ml.movie_id
AND t2.id = ml.linked_movie_id
AND it1.id = mi_idx1.info_type_id
AND t1.id = mi_idx1.movie_id
AND kt1.id = t1.kind_id
AND cn1.id = mc1.company_id
AND t1.id = mc1.movie_id
AND ml.movie_id = mi_idx1.movie_id
AND ml.movie_id = mc1.movie_id
AND mi_idx1.movie_id = mc1.movie_id
AND it2.id = mi_idx2.info_type_id
AND t2.id = mi_idx2.movie_id
AND kt2.id = t2.kind_id
AND cn2.id = mc2.company_id
AND t2.id = mc2.movie_id
AND ml.linked_movie_id = mi_idx2.movie_id
AND ml.linked_movie_id = mc2.movie_id
AND mi_idx2.movie_id = mc2.movie_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['33b'])

For the DataFrame form:

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

Source

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