blob: e384036197d6d759f382b845d86c6337988682dc [file]
description = "IN / NOT IN / EXISTS subqueries that appear in the SELECT list instead of a filter (apache/datafusion#25341). Each query projects the boolean result of a subquery and aggregates it, so the measured work is the decorrelation plan and not the output size. The decorrelation turns one projected IN into mark joins. Query 07 correlates on `<`, so the correlation stays a residual filter of the mark join. The two tables are built inline by the load SQL and are sized with PSQ_ROWS."
query_pattern = "q{QUERY_ID_PADDED}.benchmark"
[[options]]
name = "rows"
short = "r"
env = "PSQ_ROWS"
default = "30000"
values = ["30000", "..."]
help = "Sets the number of rows in each of the two generated tables. The checked-in result files hold the counts for the default value, so --result-mode validate needs the default."
[[examples]]
command = "cargo run --release --bin benchmark_runner -- projection_subquery"
description = "Run every query with the default 30,000 rows per table."
[[examples]]
command = "cargo run --release --bin benchmark_runner -- projection_subquery --query 1 --result-mode validate"
description = "Run query 01 and compare the counts with the checked-in result file."
[[examples]]
command = "cargo run --release --bin benchmark_runner -- projection_subquery -r 5000"
description = "Run every query on smaller tables."