diff --git a/benchmarks/benches/sql.rs b/benchmarks/benches/sql.rs index 73302b4763818..6325f565aad59 100644 --- a/benchmarks/benches/sql.rs +++ b/benchmarks/benches/sql.rs @@ -82,7 +82,7 @@ struct EnvParser { subgroup: Option, #[arg(env = "BENCH_QUERY")] - query: Option, + query: Option, } pub fn sql(c: &mut Criterion) { diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/01a.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/01a.benchmark new file mode 100644 index 0000000000000..1641b348b861a --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/01a.benchmark @@ -0,0 +1,35 @@ +name Q01a +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(mc.note) AS production_note, + MIN(t.title) AS movie_title, + MIN(t.production_year) AS movie_year +FROM company_type AS ct, + info_type AS it, + movie_companies AS mc, + movie_info_idx AS mi_idx, + title AS t +WHERE ct.kind = 'production companies' + AND it.info = 'top 250 rank' + AND mc.note NOT LIKE '%(as Metro-Goldwyn-Mayer Pictures)%' + AND (mc.note LIKE '%(co-production)%' + OR mc.note LIKE '%(presents)%') + AND ct.id = mc.company_type_id + AND t.id = mc.movie_id + AND t.id = mi_idx.movie_id + AND mc.movie_id = mi_idx.movie_id + AND it.id = mi_idx.info_type_id; + +result sql_benchmarks/imdb/results/01a.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/01b.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/01b.benchmark new file mode 100644 index 0000000000000..e8515ab3a88e0 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/01b.benchmark @@ -0,0 +1,34 @@ +name Q01b +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(mc.note) AS production_note, + MIN(t.title) AS movie_title, + MIN(t.production_year) AS movie_year +FROM company_type AS ct, + info_type AS it, + movie_companies AS mc, + movie_info_idx AS mi_idx, + title AS t +WHERE ct.kind = 'production companies' + AND it.info = 'bottom 10 rank' + AND mc.note NOT LIKE '%(as Metro-Goldwyn-Mayer Pictures)%' + AND t.production_year BETWEEN 2005 AND 2010 + AND ct.id = mc.company_type_id + AND t.id = mc.movie_id + AND t.id = mi_idx.movie_id + AND mc.movie_id = mi_idx.movie_id + AND it.id = mi_idx.info_type_id; + +result sql_benchmarks/imdb/results/01b.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/01c.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/01c.benchmark new file mode 100644 index 0000000000000..fb9711a34fd80 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/01c.benchmark @@ -0,0 +1,35 @@ +name Q01c +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(mc.note) AS production_note, + MIN(t.title) AS movie_title, + MIN(t.production_year) AS movie_year +FROM company_type AS ct, + info_type AS it, + movie_companies AS mc, + movie_info_idx AS mi_idx, + title AS t +WHERE ct.kind = 'production companies' + AND it.info = 'top 250 rank' + AND mc.note NOT LIKE '%(as Metro-Goldwyn-Mayer Pictures)%' + AND (mc.note LIKE '%(co-production)%') + AND t.production_year >2010 + AND ct.id = mc.company_type_id + AND t.id = mc.movie_id + AND t.id = mi_idx.movie_id + AND mc.movie_id = mi_idx.movie_id + AND it.id = mi_idx.info_type_id; + +result sql_benchmarks/imdb/results/01c.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/01d.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/01d.benchmark new file mode 100644 index 0000000000000..00dff7d071994 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/01d.benchmark @@ -0,0 +1,34 @@ +name Q01d +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(mc.note) AS production_note, + MIN(t.title) AS movie_title, + MIN(t.production_year) AS movie_year +FROM company_type AS ct, + info_type AS it, + movie_companies AS mc, + movie_info_idx AS mi_idx, + title AS t +WHERE ct.kind = 'production companies' + AND it.info = 'bottom 10 rank' + AND mc.note NOT LIKE '%(as Metro-Goldwyn-Mayer Pictures)%' + AND t.production_year >2000 + AND ct.id = mc.company_type_id + AND t.id = mc.movie_id + AND t.id = mi_idx.movie_id + AND mc.movie_id = mi_idx.movie_id + AND it.id = mi_idx.info_type_id; + +result sql_benchmarks/imdb/results/01d.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/02a.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/02a.benchmark new file mode 100644 index 0000000000000..d3455b56a4e17 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/02a.benchmark @@ -0,0 +1,30 @@ +name Q02a +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(t.title) AS movie_title +FROM company_name AS cn, + keyword AS k, + movie_companies AS mc, + movie_keyword AS mk, + title AS t +WHERE cn.country_code ='[de]' + AND k.keyword ='character-name-in-title' + AND cn.id = mc.company_id + AND mc.movie_id = t.id + AND t.id = mk.movie_id + AND mk.keyword_id = k.id + AND mc.movie_id = mk.movie_id; + +result sql_benchmarks/imdb/results/02a.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/02b.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/02b.benchmark new file mode 100644 index 0000000000000..b6cf22600adcf --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/02b.benchmark @@ -0,0 +1,30 @@ +name Q02b +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(t.title) AS movie_title +FROM company_name AS cn, + keyword AS k, + movie_companies AS mc, + movie_keyword AS mk, + title AS t +WHERE cn.country_code ='[nl]' + AND k.keyword ='character-name-in-title' + AND cn.id = mc.company_id + AND mc.movie_id = t.id + AND t.id = mk.movie_id + AND mk.keyword_id = k.id + AND mc.movie_id = mk.movie_id; + +result sql_benchmarks/imdb/results/02b.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/02c.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/02c.benchmark new file mode 100644 index 0000000000000..b020e9e3cdd87 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/02c.benchmark @@ -0,0 +1,30 @@ +name Q02c +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(t.title) AS movie_title +FROM company_name AS cn, + keyword AS k, + movie_companies AS mc, + movie_keyword AS mk, + title AS t +WHERE cn.country_code ='[sm]' + AND k.keyword ='character-name-in-title' + AND cn.id = mc.company_id + AND mc.movie_id = t.id + AND t.id = mk.movie_id + AND mk.keyword_id = k.id + AND mc.movie_id = mk.movie_id; + +result sql_benchmarks/imdb/results/02c.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/02d.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/02d.benchmark new file mode 100644 index 0000000000000..08355454213d4 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/02d.benchmark @@ -0,0 +1,30 @@ +name Q02d +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(t.title) AS movie_title +FROM company_name AS cn, + keyword AS k, + movie_companies AS mc, + movie_keyword AS mk, + title AS t +WHERE cn.country_code ='[us]' + AND k.keyword ='character-name-in-title' + AND cn.id = mc.company_id + AND mc.movie_id = t.id + AND t.id = mk.movie_id + AND mk.keyword_id = k.id + AND mc.movie_id = mk.movie_id; + +result sql_benchmarks/imdb/results/02d.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/03a.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/03a.benchmark new file mode 100644 index 0000000000000..22112a2894832 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/03a.benchmark @@ -0,0 +1,36 @@ +name Q03a +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(t.title) AS movie_title +FROM keyword AS k, + movie_info AS mi, + movie_keyword AS mk, + title AS t +WHERE k.keyword LIKE '%sequel%' + AND mi.info IN ('Sweden', + 'Norway', + 'Germany', + 'Denmark', + 'Swedish', + 'Denish', + 'Norwegian', + 'German') + AND t.production_year > 2005 + AND t.id = mi.movie_id + AND t.id = mk.movie_id + AND mk.movie_id = mi.movie_id + AND k.id = mk.keyword_id; + +result sql_benchmarks/imdb/results/03a.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/03b.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/03b.benchmark new file mode 100644 index 0000000000000..ab24455fd0f4d --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/03b.benchmark @@ -0,0 +1,29 @@ +name Q03b +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(t.title) AS movie_title +FROM keyword AS k, + movie_info AS mi, + movie_keyword AS mk, + title AS t +WHERE k.keyword LIKE '%sequel%' + AND mi.info IN ('Bulgaria') + AND t.production_year > 2010 + AND t.id = mi.movie_id + AND t.id = mk.movie_id + AND mk.movie_id = mi.movie_id + AND k.id = mk.keyword_id; + +result sql_benchmarks/imdb/results/03b.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/03c.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/03c.benchmark new file mode 100644 index 0000000000000..65cfe87df168f --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/03c.benchmark @@ -0,0 +1,38 @@ +name Q03c +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(t.title) AS movie_title +FROM keyword AS k, + movie_info AS mi, + movie_keyword AS mk, + title AS t +WHERE k.keyword LIKE '%sequel%' + AND mi.info IN ('Sweden', + 'Norway', + 'Germany', + 'Denmark', + 'Swedish', + 'Denish', + 'Norwegian', + 'German', + 'USA', + 'American') + AND t.production_year > 1990 + AND t.id = mi.movie_id + AND t.id = mk.movie_id + AND mk.movie_id = mi.movie_id + AND k.id = mk.keyword_id; + +result sql_benchmarks/imdb/results/03c.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/04a.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/04a.benchmark new file mode 100644 index 0000000000000..ff5992501de70 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/04a.benchmark @@ -0,0 +1,33 @@ +name Q04a +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(mi_idx.info) AS rating, + MIN(t.title) AS movie_title +FROM info_type AS it, + keyword AS k, + movie_info_idx AS mi_idx, + movie_keyword AS mk, + title AS t +WHERE it.info ='rating' + AND k.keyword LIKE '%sequel%' + AND mi_idx.info > '5.0' + AND t.production_year > 2005 + AND t.id = mi_idx.movie_id + AND t.id = mk.movie_id + AND mk.movie_id = mi_idx.movie_id + AND k.id = mk.keyword_id + AND it.id = mi_idx.info_type_id; + +result sql_benchmarks/imdb/results/04a.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/04b.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/04b.benchmark new file mode 100644 index 0000000000000..fbcbf42aedd42 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/04b.benchmark @@ -0,0 +1,33 @@ +name Q04b +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(mi_idx.info) AS rating, + MIN(t.title) AS movie_title +FROM info_type AS it, + keyword AS k, + movie_info_idx AS mi_idx, + movie_keyword AS mk, + title AS t +WHERE it.info ='rating' + AND k.keyword LIKE '%sequel%' + AND mi_idx.info > '9.0' + AND t.production_year > 2010 + AND t.id = mi_idx.movie_id + AND t.id = mk.movie_id + AND mk.movie_id = mi_idx.movie_id + AND k.id = mk.keyword_id + AND it.id = mi_idx.info_type_id; + +result sql_benchmarks/imdb/results/04b.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/04c.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/04c.benchmark new file mode 100644 index 0000000000000..cc0791f6fc993 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/04c.benchmark @@ -0,0 +1,33 @@ +name Q04c +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(mi_idx.info) AS rating, + MIN(t.title) AS movie_title +FROM info_type AS it, + keyword AS k, + movie_info_idx AS mi_idx, + movie_keyword AS mk, + title AS t +WHERE it.info ='rating' + AND k.keyword LIKE '%sequel%' + AND mi_idx.info > '2.0' + AND t.production_year > 1990 + AND t.id = mi_idx.movie_id + AND t.id = mk.movie_id + AND mk.movie_id = mi_idx.movie_id + AND k.id = mk.keyword_id + AND it.id = mi_idx.info_type_id; + +result sql_benchmarks/imdb/results/04c.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/05a.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/05a.benchmark new file mode 100644 index 0000000000000..04ea2cb309113 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/05a.benchmark @@ -0,0 +1,40 @@ +name Q05a +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(t.title) AS typical_european_movie +FROM company_type AS ct, + info_type AS it, + movie_companies AS mc, + movie_info AS mi, + title AS t +WHERE ct.kind = 'production companies' + AND mc.note LIKE '%(theatrical)%' + AND mc.note LIKE '%(France)%' + AND mi.info IN ('Sweden', + 'Norway', + 'Germany', + 'Denmark', + 'Swedish', + 'Denish', + 'Norwegian', + 'German') + AND t.production_year > 2005 + AND t.id = mi.movie_id + AND t.id = mc.movie_id + AND mc.movie_id = mi.movie_id + AND ct.id = mc.company_type_id + AND it.id = mi.info_type_id; + +result sql_benchmarks/imdb/results/05a.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/05b.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/05b.benchmark new file mode 100644 index 0000000000000..d2a8011bd86f9 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/05b.benchmark @@ -0,0 +1,35 @@ +name Q05b +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(t.title) AS american_vhs_movie +FROM company_type AS ct, + info_type AS it, + movie_companies AS mc, + movie_info AS mi, + title AS t +WHERE ct.kind = 'production companies' + AND mc.note LIKE '%(VHS)%' + AND mc.note LIKE '%(USA)%' + AND mc.note LIKE '%(1994)%' + AND mi.info IN ('USA', + 'America') + AND t.production_year > 2010 + AND t.id = mi.movie_id + AND t.id = mc.movie_id + AND mc.movie_id = mi.movie_id + AND ct.id = mc.company_type_id + AND it.id = mi.info_type_id; + +result sql_benchmarks/imdb/results/05b.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/05c.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/05c.benchmark new file mode 100644 index 0000000000000..7467bf826da8c --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/05c.benchmark @@ -0,0 +1,42 @@ +name Q05c +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(t.title) AS american_movie +FROM company_type AS ct, + info_type AS it, + movie_companies AS mc, + movie_info AS mi, + title AS t +WHERE ct.kind = 'production companies' + AND mc.note NOT LIKE '%(TV)%' + AND mc.note LIKE '%(USA)%' + AND mi.info IN ('Sweden', + 'Norway', + 'Germany', + 'Denmark', + 'Swedish', + 'Denish', + 'Norwegian', + 'German', + 'USA', + 'American') + AND t.production_year > 1990 + AND t.id = mi.movie_id + AND t.id = mc.movie_id + AND mc.movie_id = mi.movie_id + AND ct.id = mc.company_type_id + AND it.id = mi.info_type_id; + +result sql_benchmarks/imdb/results/05c.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/06a.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/06a.benchmark new file mode 100644 index 0000000000000..cadd66c86abe1 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/06a.benchmark @@ -0,0 +1,33 @@ +name Q06a +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(k.keyword) AS movie_keyword, + MIN(n.name) AS actor_name, + MIN(t.title) AS marvel_movie +FROM cast_info AS ci, + keyword AS k, + movie_keyword AS mk, + name AS n, + title AS t +WHERE k.keyword = 'marvel-cinematic-universe' + AND n.name LIKE '%Downey%Robert%' + AND t.production_year > 2010 + AND k.id = mk.keyword_id + AND t.id = mk.movie_id + AND t.id = ci.movie_id + AND ci.movie_id = mk.movie_id + AND n.id = ci.person_id; + +result sql_benchmarks/imdb/results/06a.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/06b.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/06b.benchmark new file mode 100644 index 0000000000000..08d310baea120 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/06b.benchmark @@ -0,0 +1,40 @@ +name Q06b +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(k.keyword) AS movie_keyword, + MIN(n.name) AS actor_name, + MIN(t.title) AS hero_movie +FROM cast_info AS ci, + keyword AS k, + movie_keyword AS mk, + name AS n, + title AS t +WHERE k.keyword IN ('superhero', + 'sequel', + 'second-part', + 'marvel-comics', + 'based-on-comic', + 'tv-special', + 'fight', + 'violence') + AND n.name LIKE '%Downey%Robert%' + AND t.production_year > 2014 + AND k.id = mk.keyword_id + AND t.id = mk.movie_id + AND t.id = ci.movie_id + AND ci.movie_id = mk.movie_id + AND n.id = ci.person_id; + +result sql_benchmarks/imdb/results/06b.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/06c.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/06c.benchmark new file mode 100644 index 0000000000000..125b48c5a3f1d --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/06c.benchmark @@ -0,0 +1,33 @@ +name Q06c +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(k.keyword) AS movie_keyword, + MIN(n.name) AS actor_name, + MIN(t.title) AS marvel_movie +FROM cast_info AS ci, + keyword AS k, + movie_keyword AS mk, + name AS n, + title AS t +WHERE k.keyword = 'marvel-cinematic-universe' + AND n.name LIKE '%Downey%Robert%' + AND t.production_year > 2014 + AND k.id = mk.keyword_id + AND t.id = mk.movie_id + AND t.id = ci.movie_id + AND ci.movie_id = mk.movie_id + AND n.id = ci.person_id; + +result sql_benchmarks/imdb/results/06c.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/06d.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/06d.benchmark new file mode 100644 index 0000000000000..0ce0c10b6b032 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/06d.benchmark @@ -0,0 +1,40 @@ +name Q06d +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(k.keyword) AS movie_keyword, + MIN(n.name) AS actor_name, + MIN(t.title) AS hero_movie +FROM cast_info AS ci, + keyword AS k, + movie_keyword AS mk, + name AS n, + title AS t +WHERE k.keyword IN ('superhero', + 'sequel', + 'second-part', + 'marvel-comics', + 'based-on-comic', + 'tv-special', + 'fight', + 'violence') + AND n.name LIKE '%Downey%Robert%' + AND t.production_year > 2000 + AND k.id = mk.keyword_id + AND t.id = mk.movie_id + AND t.id = ci.movie_id + AND ci.movie_id = mk.movie_id + AND n.id = ci.person_id; + +result sql_benchmarks/imdb/results/06d.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/06e.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/06e.benchmark new file mode 100644 index 0000000000000..d6eb6b8a7f0f0 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/06e.benchmark @@ -0,0 +1,33 @@ +name Q06e +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(k.keyword) AS movie_keyword, + MIN(n.name) AS actor_name, + MIN(t.title) AS marvel_movie +FROM cast_info AS ci, + keyword AS k, + movie_keyword AS mk, + name AS n, + title AS t +WHERE k.keyword = 'marvel-cinematic-universe' + AND n.name LIKE '%Downey%Robert%' + AND t.production_year > 2000 + AND k.id = mk.keyword_id + AND t.id = mk.movie_id + AND t.id = ci.movie_id + AND ci.movie_id = mk.movie_id + AND n.id = ci.person_id; + +result sql_benchmarks/imdb/results/06e.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/06f.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/06f.benchmark new file mode 100644 index 0000000000000..8387633632e3c --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/06f.benchmark @@ -0,0 +1,39 @@ +name Q06f +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(k.keyword) AS movie_keyword, + MIN(n.name) AS actor_name, + MIN(t.title) AS hero_movie +FROM cast_info AS ci, + keyword AS k, + movie_keyword AS mk, + name AS n, + title AS t +WHERE k.keyword IN ('superhero', + 'sequel', + 'second-part', + 'marvel-comics', + 'based-on-comic', + 'tv-special', + 'fight', + 'violence') + AND t.production_year > 2000 + AND k.id = mk.keyword_id + AND t.id = mk.movie_id + AND t.id = ci.movie_id + AND ci.movie_id = mk.movie_id + AND n.id = ci.person_id; + +result sql_benchmarks/imdb/results/06f.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/07a.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/07a.benchmark new file mode 100644 index 0000000000000..1ad5388cc28be --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/07a.benchmark @@ -0,0 +1,47 @@ +name Q07a +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(n.name) AS of_person, + MIN(t.title) AS biography_movie +FROM aka_name AS an, + cast_info AS ci, + info_type AS it, + link_type AS lt, + movie_link AS ml, + name AS n, + person_info AS pi, + title AS t +WHERE an.name LIKE '%a%' + AND it.info ='mini biography' + AND lt.link ='features' + AND n.name_pcode_cf BETWEEN 'A' AND 'F' + AND (n.gender='m' + OR (n.gender = 'f' + AND n.name LIKE 'B%')) + AND pi.note ='Volker Boehm' + AND t.production_year BETWEEN 1980 AND 1995 + AND n.id = an.person_id + AND n.id = pi.person_id + AND ci.person_id = n.id + AND t.id = ci.movie_id + AND ml.linked_movie_id = t.id + AND lt.id = ml.link_type_id + AND it.id = pi.info_type_id + AND pi.person_id = an.person_id + AND pi.person_id = ci.person_id + AND an.person_id = ci.person_id + AND ci.movie_id = ml.linked_movie_id; + +result sql_benchmarks/imdb/results/07a.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/07b.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/07b.benchmark new file mode 100644 index 0000000000000..bfc2e107a99df --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/07b.benchmark @@ -0,0 +1,45 @@ +name Q07b +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(n.name) AS of_person, + MIN(t.title) AS biography_movie +FROM aka_name AS an, + cast_info AS ci, + info_type AS it, + link_type AS lt, + movie_link AS ml, + name AS n, + person_info AS pi, + title AS t +WHERE an.name LIKE '%a%' + AND it.info ='mini biography' + AND lt.link ='features' + AND n.name_pcode_cf LIKE 'D%' + AND n.gender='m' + AND pi.note ='Volker Boehm' + AND t.production_year BETWEEN 1980 AND 1984 + AND n.id = an.person_id + AND n.id = pi.person_id + AND ci.person_id = n.id + AND t.id = ci.movie_id + AND ml.linked_movie_id = t.id + AND lt.id = ml.link_type_id + AND it.id = pi.info_type_id + AND pi.person_id = an.person_id + AND pi.person_id = ci.person_id + AND an.person_id = ci.person_id + AND ci.movie_id = ml.linked_movie_id; + +result sql_benchmarks/imdb/results/07b.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/07c.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/07c.benchmark new file mode 100644 index 0000000000000..449df56c14d89 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/07c.benchmark @@ -0,0 +1,52 @@ +name Q07c +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(n.name) AS cast_member_name, + MIN(pi.info) AS cast_member_info +FROM aka_name AS an, + cast_info AS ci, + info_type AS it, + link_type AS lt, + movie_link AS ml, + name AS n, + person_info AS pi, + title AS t +WHERE an.name IS NOT NULL + AND (an.name LIKE '%a%' + OR an.name LIKE 'A%') + AND it.info ='mini biography' + AND lt.link IN ('references', + 'referenced in', + 'features', + 'featured in') + AND n.name_pcode_cf BETWEEN 'A' AND 'F' + AND (n.gender='m' + OR (n.gender = 'f' + AND n.name LIKE 'A%')) + AND pi.note IS NOT NULL + AND t.production_year BETWEEN 1980 AND 2010 + AND n.id = an.person_id + AND n.id = pi.person_id + AND ci.person_id = n.id + AND t.id = ci.movie_id + AND ml.linked_movie_id = t.id + AND lt.id = ml.link_type_id + AND it.id = pi.info_type_id + AND pi.person_id = an.person_id + AND pi.person_id = ci.person_id + AND an.person_id = ci.person_id + AND ci.movie_id = ml.linked_movie_id; + +result sql_benchmarks/imdb/results/07c.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/08a.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/08a.benchmark new file mode 100644 index 0000000000000..72914b32c326b --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/08a.benchmark @@ -0,0 +1,41 @@ +name Q08a +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(an1.name) AS actress_pseudonym, + MIN(t.title) AS japanese_movie_dubbed +FROM aka_name AS an1, + cast_info AS ci, + company_name AS cn, + movie_companies AS mc, + name AS n1, + role_type AS rt, + title AS t +WHERE ci.note ='(voice: English version)' + AND cn.country_code ='[jp]' + AND mc.note LIKE '%(Japan)%' + AND mc.note NOT LIKE '%(USA)%' + AND n1.name LIKE '%Yo%' + AND n1.name NOT LIKE '%Yu%' + AND rt.role ='actress' + AND an1.person_id = n1.id + AND n1.id = ci.person_id + AND ci.movie_id = t.id + AND t.id = mc.movie_id + AND mc.company_id = cn.id + AND ci.role_id = rt.id + AND an1.person_id = ci.person_id + AND ci.movie_id = mc.movie_id; + +result sql_benchmarks/imdb/results/08a.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/08b.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/08b.benchmark new file mode 100644 index 0000000000000..a66486d16de24 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/08b.benchmark @@ -0,0 +1,46 @@ +name Q08b +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(an.name) AS acress_pseudonym, + MIN(t.title) AS japanese_anime_movie +FROM aka_name AS an, + cast_info AS ci, + company_name AS cn, + movie_companies AS mc, + name AS n, + role_type AS rt, + title AS t +WHERE ci.note ='(voice: English version)' + AND cn.country_code ='[jp]' + AND mc.note LIKE '%(Japan)%' + AND mc.note NOT LIKE '%(USA)%' + AND (mc.note LIKE '%(2006)%' + OR mc.note LIKE '%(2007)%') + AND n.name LIKE '%Yo%' + AND n.name NOT LIKE '%Yu%' + AND rt.role ='actress' + AND t.production_year BETWEEN 2006 AND 2007 + AND (t.title LIKE 'One Piece%' + OR t.title LIKE 'Dragon Ball Z%') + AND an.person_id = n.id + AND n.id = ci.person_id + AND ci.movie_id = t.id + AND t.id = mc.movie_id + AND mc.company_id = cn.id + AND ci.role_id = rt.id + AND an.person_id = ci.person_id + AND ci.movie_id = mc.movie_id; + +result sql_benchmarks/imdb/results/08b.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/08c.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/08c.benchmark new file mode 100644 index 0000000000000..116a9c9f60bd3 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/08c.benchmark @@ -0,0 +1,36 @@ +name Q08c +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(a1.name) AS writer_pseudo_name, + MIN(t.title) AS movie_title +FROM aka_name AS a1, + cast_info AS ci, + company_name AS cn, + movie_companies AS mc, + name AS n1, + role_type AS rt, + title AS t +WHERE cn.country_code ='[us]' + AND rt.role ='writer' + AND a1.person_id = n1.id + AND n1.id = ci.person_id + AND ci.movie_id = t.id + AND t.id = mc.movie_id + AND mc.company_id = cn.id + AND ci.role_id = rt.id + AND a1.person_id = ci.person_id + AND ci.movie_id = mc.movie_id; + +result sql_benchmarks/imdb/results/08c.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/08d.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/08d.benchmark new file mode 100644 index 0000000000000..def2f26b3db4c --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/08d.benchmark @@ -0,0 +1,36 @@ +name Q08d +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(an1.name) AS costume_designer_pseudo, + MIN(t.title) AS movie_with_costumes +FROM aka_name AS an1, + cast_info AS ci, + company_name AS cn, + movie_companies AS mc, + name AS n1, + role_type AS rt, + title AS t +WHERE cn.country_code ='[us]' + AND rt.role ='costume designer' + AND an1.person_id = n1.id + AND n1.id = ci.person_id + AND ci.movie_id = t.id + AND t.id = mc.movie_id + AND mc.company_id = cn.id + AND ci.role_id = rt.id + AND an1.person_id = ci.person_id + AND ci.movie_id = mc.movie_id; + +result sql_benchmarks/imdb/results/08d.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/09a.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/09a.benchmark new file mode 100644 index 0000000000000..7cb040bc6dbca --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/09a.benchmark @@ -0,0 +1,49 @@ +name Q09a +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(an.name) AS alternative_name, + MIN(chn.name) AS character_name, + MIN(t.title) AS movie +FROM aka_name AS an, + char_name AS chn, + cast_info AS ci, + company_name AS cn, + movie_companies AS mc, + name AS n, + role_type AS rt, + title AS t +WHERE ci.note IN ('(voice)', + '(voice: Japanese version)', + '(voice) (uncredited)', + '(voice: English version)') + AND cn.country_code ='[us]' + AND mc.note IS NOT NULL + AND (mc.note LIKE '%(USA)%' + OR mc.note LIKE '%(worldwide)%') + AND n.gender ='f' + AND n.name LIKE '%Ang%' + AND rt.role ='actress' + AND t.production_year BETWEEN 2005 AND 2015 + AND ci.movie_id = t.id + AND t.id = mc.movie_id + AND ci.movie_id = mc.movie_id + AND mc.company_id = cn.id + AND ci.role_id = rt.id + AND n.id = ci.person_id + AND chn.id = ci.person_role_id + AND an.person_id = n.id + AND an.person_id = ci.person_id; + +result sql_benchmarks/imdb/results/09a.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/09b.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/09b.benchmark new file mode 100644 index 0000000000000..a3b7f1e200225 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/09b.benchmark @@ -0,0 +1,47 @@ +name Q09b +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(an.name) AS alternative_name, + MIN(chn.name) AS voiced_character, + MIN(n.name) AS voicing_actress, + MIN(t.title) AS american_movie +FROM aka_name AS an, + char_name AS chn, + cast_info AS ci, + company_name AS cn, + movie_companies AS mc, + name AS n, + role_type AS rt, + title AS t +WHERE ci.note = '(voice)' + AND cn.country_code ='[us]' + AND mc.note LIKE '%(200%)%' + AND (mc.note LIKE '%(USA)%' + OR mc.note LIKE '%(worldwide)%') + AND n.gender ='f' + AND n.name LIKE '%Angel%' + AND rt.role ='actress' + AND t.production_year BETWEEN 2007 AND 2010 + AND ci.movie_id = t.id + AND t.id = mc.movie_id + AND ci.movie_id = mc.movie_id + AND mc.company_id = cn.id + AND ci.role_id = rt.id + AND n.id = ci.person_id + AND chn.id = ci.person_role_id + AND an.person_id = n.id + AND an.person_id = ci.person_id; + +result sql_benchmarks/imdb/results/09b.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/09c.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/09c.benchmark new file mode 100644 index 0000000000000..1588622de447f --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/09c.benchmark @@ -0,0 +1,46 @@ +name Q09c +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(an.name) AS alternative_name, + MIN(chn.name) AS voiced_character_name, + MIN(n.name) AS voicing_actress, + MIN(t.title) AS american_movie +FROM aka_name AS an, + char_name AS chn, + cast_info AS ci, + company_name AS cn, + movie_companies AS mc, + name AS n, + role_type AS rt, + title AS t +WHERE ci.note IN ('(voice)', + '(voice: Japanese version)', + '(voice) (uncredited)', + '(voice: English version)') + AND cn.country_code ='[us]' + AND n.gender ='f' + AND n.name LIKE '%An%' + AND rt.role ='actress' + AND ci.movie_id = t.id + AND t.id = mc.movie_id + AND ci.movie_id = mc.movie_id + AND mc.company_id = cn.id + AND ci.role_id = rt.id + AND n.id = ci.person_id + AND chn.id = ci.person_role_id + AND an.person_id = n.id + AND an.person_id = ci.person_id; + +result sql_benchmarks/imdb/results/09c.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/09d.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/09d.benchmark new file mode 100644 index 0000000000000..959a61c3b6d21 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/09d.benchmark @@ -0,0 +1,45 @@ +name Q09d +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(an.name) AS alternative_name, + MIN(chn.name) AS voiced_char_name, + MIN(n.name) AS voicing_actress, + MIN(t.title) AS american_movie +FROM aka_name AS an, + char_name AS chn, + cast_info AS ci, + company_name AS cn, + movie_companies AS mc, + name AS n, + role_type AS rt, + title AS t +WHERE ci.note IN ('(voice)', + '(voice: Japanese version)', + '(voice) (uncredited)', + '(voice: English version)') + AND cn.country_code ='[us]' + AND n.gender ='f' + AND rt.role ='actress' + AND ci.movie_id = t.id + AND t.id = mc.movie_id + AND ci.movie_id = mc.movie_id + AND mc.company_id = cn.id + AND ci.role_id = rt.id + AND n.id = ci.person_id + AND chn.id = ci.person_role_id + AND an.person_id = n.id + AND an.person_id = ci.person_id; + +result sql_benchmarks/imdb/results/09d.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/10a.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/10a.benchmark new file mode 100644 index 0000000000000..ba58639156680 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/10a.benchmark @@ -0,0 +1,38 @@ +name Q10a +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(chn.name) AS uncredited_voiced_character, + MIN(t.title) AS russian_movie +FROM char_name AS chn, + cast_info AS ci, + company_name AS cn, + company_type AS ct, + movie_companies AS mc, + role_type AS rt, + title AS t +WHERE ci.note LIKE '%(voice)%' + AND ci.note LIKE '%(uncredited)%' + AND cn.country_code = '[ru]' + AND rt.role = 'actor' + AND t.production_year > 2005 + AND t.id = mc.movie_id + AND t.id = ci.movie_id + AND ci.movie_id = mc.movie_id + AND chn.id = ci.person_role_id + AND rt.id = ci.role_id + AND cn.id = mc.company_id + AND ct.id = mc.company_type_id; + +result sql_benchmarks/imdb/results/10a.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/10b.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/10b.benchmark new file mode 100644 index 0000000000000..1947b640b3c86 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/10b.benchmark @@ -0,0 +1,37 @@ +name Q10b +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(chn.name) AS character, + MIN(t.title) AS russian_mov_with_actor_producer +FROM char_name AS chn, + cast_info AS ci, + company_name AS cn, + company_type AS ct, + movie_companies AS mc, + role_type AS rt, + title AS t +WHERE ci.note LIKE '%(producer)%' + AND cn.country_code = '[ru]' + AND rt.role = 'actor' + AND t.production_year > 2010 + AND t.id = mc.movie_id + AND t.id = ci.movie_id + AND ci.movie_id = mc.movie_id + AND chn.id = ci.person_role_id + AND rt.id = ci.role_id + AND cn.id = mc.company_id + AND ct.id = mc.company_type_id; + +result sql_benchmarks/imdb/results/10b.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/10c.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/10c.benchmark new file mode 100644 index 0000000000000..2fb881324b620 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/10c.benchmark @@ -0,0 +1,36 @@ +name Q10c +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(chn.name) AS character, + MIN(t.title) AS movie_with_american_producer +FROM char_name AS chn, + cast_info AS ci, + company_name AS cn, + company_type AS ct, + movie_companies AS mc, + role_type AS rt, + title AS t +WHERE ci.note LIKE '%(producer)%' + AND cn.country_code = '[us]' + AND t.production_year > 1990 + AND t.id = mc.movie_id + AND t.id = ci.movie_id + AND ci.movie_id = mc.movie_id + AND chn.id = ci.person_role_id + AND rt.id = ci.role_id + AND cn.id = mc.company_id + AND ct.id = mc.company_type_id; + +result sql_benchmarks/imdb/results/10c.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/11a.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/11a.benchmark new file mode 100644 index 0000000000000..d24bc35146bec --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/11a.benchmark @@ -0,0 +1,46 @@ +name Q11a +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(cn.name) AS from_company, + MIN(lt.link) AS movie_link_type, + MIN(t.title) AS non_polish_sequel_movie +FROM company_name AS cn, + company_type AS ct, + keyword AS k, + link_type AS lt, + movie_companies AS mc, + movie_keyword AS mk, + movie_link AS ml, + title AS t +WHERE cn.country_code !='[pl]' + AND (cn.name LIKE '%Film%' + OR cn.name LIKE '%Warner%') + AND ct.kind ='production companies' + AND k.keyword ='sequel' + AND lt.link LIKE '%follow%' + AND mc.note IS NULL + AND t.production_year BETWEEN 1950 AND 2000 + AND lt.id = ml.link_type_id + AND ml.movie_id = t.id + AND t.id = mk.movie_id + AND mk.keyword_id = k.id + AND t.id = mc.movie_id + AND mc.company_type_id = ct.id + AND mc.company_id = cn.id + AND ml.movie_id = mk.movie_id + AND ml.movie_id = mc.movie_id + AND mk.movie_id = mc.movie_id; + +result sql_benchmarks/imdb/results/11a.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/11b.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/11b.benchmark new file mode 100644 index 0000000000000..e2dd4cafba597 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/11b.benchmark @@ -0,0 +1,47 @@ +name Q11b +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(cn.name) AS from_company, + MIN(lt.link) AS movie_link_type, + MIN(t.title) AS sequel_movie +FROM company_name AS cn, + company_type AS ct, + keyword AS k, + link_type AS lt, + movie_companies AS mc, + movie_keyword AS mk, + movie_link AS ml, + title AS t +WHERE cn.country_code !='[pl]' + AND (cn.name LIKE '%Film%' + OR cn.name LIKE '%Warner%') + AND ct.kind ='production companies' + AND k.keyword ='sequel' + AND lt.link LIKE '%follows%' + AND mc.note IS NULL + AND t.production_year = 1998 + AND t.title LIKE '%Money%' + AND lt.id = ml.link_type_id + AND ml.movie_id = t.id + AND t.id = mk.movie_id + AND mk.keyword_id = k.id + AND t.id = mc.movie_id + AND mc.company_type_id = ct.id + AND mc.company_id = cn.id + AND ml.movie_id = mk.movie_id + AND ml.movie_id = mc.movie_id + AND mk.movie_id = mc.movie_id; + +result sql_benchmarks/imdb/results/11b.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/11c.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/11c.benchmark new file mode 100644 index 0000000000000..9fde2824afc8a --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/11c.benchmark @@ -0,0 +1,48 @@ +name Q11c +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(cn.name) AS from_company, + MIN(mc.note) AS production_note, + MIN(t.title) AS movie_based_on_book +FROM company_name AS cn, + company_type AS ct, + keyword AS k, + link_type AS lt, + movie_companies AS mc, + movie_keyword AS mk, + movie_link AS ml, + title AS t +WHERE cn.country_code !='[pl]' + AND (cn.name LIKE '20th Century Fox%' + OR cn.name LIKE 'Twentieth Century Fox%') + AND ct.kind != 'production companies' + AND ct.kind IS NOT NULL + AND k.keyword IN ('sequel', + 'revenge', + 'based-on-novel') + AND mc.note IS NOT NULL + AND t.production_year > 1950 + AND lt.id = ml.link_type_id + AND ml.movie_id = t.id + AND t.id = mk.movie_id + AND mk.keyword_id = k.id + AND t.id = mc.movie_id + AND mc.company_type_id = ct.id + AND mc.company_id = cn.id + AND ml.movie_id = mk.movie_id + AND ml.movie_id = mc.movie_id + AND mk.movie_id = mc.movie_id; + +result sql_benchmarks/imdb/results/11c.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/11d.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/11d.benchmark new file mode 100644 index 0000000000000..c66a6d5ee04da --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/11d.benchmark @@ -0,0 +1,46 @@ +name Q11d +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(cn.name) AS from_company, + MIN(mc.note) AS production_note, + MIN(t.title) AS movie_based_on_book +FROM company_name AS cn, + company_type AS ct, + keyword AS k, + link_type AS lt, + movie_companies AS mc, + movie_keyword AS mk, + movie_link AS ml, + title AS t +WHERE cn.country_code !='[pl]' + AND ct.kind != 'production companies' + AND ct.kind IS NOT NULL + AND k.keyword IN ('sequel', + 'revenge', + 'based-on-novel') + AND mc.note IS NOT NULL + AND t.production_year > 1950 + AND lt.id = ml.link_type_id + AND ml.movie_id = t.id + AND t.id = mk.movie_id + AND mk.keyword_id = k.id + AND t.id = mc.movie_id + AND mc.company_type_id = ct.id + AND mc.company_id = cn.id + AND ml.movie_id = mk.movie_id + AND ml.movie_id = mc.movie_id + AND mk.movie_id = mc.movie_id; + +result sql_benchmarks/imdb/results/11d.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/12a.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/12a.benchmark new file mode 100644 index 0000000000000..53cb5fe7705c9 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/12a.benchmark @@ -0,0 +1,46 @@ +name Q12a +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(cn.name) AS movie_company, + MIN(mi_idx.info) AS rating, + MIN(t.title) AS drama_horror_movie +FROM company_name AS cn, + company_type AS ct, + info_type AS it1, + info_type AS it2, + movie_companies AS mc, + movie_info AS mi, + movie_info_idx AS mi_idx, + title AS t +WHERE cn.country_code = '[us]' + AND ct.kind = 'production companies' + AND it1.info = 'genres' + AND it2.info = 'rating' + AND mi.info IN ('Drama', + 'Horror') + AND mi_idx.info > '8.0' + AND t.production_year BETWEEN 2005 AND 2008 + AND t.id = mi.movie_id + AND t.id = mi_idx.movie_id + AND mi.info_type_id = it1.id + AND mi_idx.info_type_id = it2.id + AND t.id = mc.movie_id + AND ct.id = mc.company_type_id + AND cn.id = mc.company_id + AND mc.movie_id = mi.movie_id + AND mc.movie_id = mi_idx.movie_id + AND mi.movie_id = mi_idx.movie_id; + +result sql_benchmarks/imdb/results/12a.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/12b.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/12b.benchmark new file mode 100644 index 0000000000000..02d76f9192ec0 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/12b.benchmark @@ -0,0 +1,46 @@ +name Q12b +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(mi.info) AS budget, + MIN(t.title) AS unsuccsessful_movie +FROM company_name AS cn, + company_type AS ct, + info_type AS it1, + info_type AS it2, + movie_companies AS mc, + movie_info AS mi, + movie_info_idx AS mi_idx, + title AS t +WHERE cn.country_code ='[us]' + AND ct.kind IS NOT NULL + AND (ct.kind ='production companies' + OR ct.kind = 'distributors') + AND it1.info ='budget' + AND it2.info ='bottom 10 rank' + AND t.production_year >2000 + AND (t.title LIKE 'Birdemic%' + OR t.title LIKE '%Movie%') + AND t.id = mi.movie_id + AND t.id = mi_idx.movie_id + AND mi.info_type_id = it1.id + AND mi_idx.info_type_id = it2.id + AND t.id = mc.movie_id + AND ct.id = mc.company_type_id + AND cn.id = mc.company_id + AND mc.movie_id = mi.movie_id + AND mc.movie_id = mi_idx.movie_id + AND mi.movie_id = mi_idx.movie_id; + +result sql_benchmarks/imdb/results/12b.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/12c.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/12c.benchmark new file mode 100644 index 0000000000000..f104486194943 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/12c.benchmark @@ -0,0 +1,48 @@ +name Q12c +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(cn.name) AS movie_company, + MIN(mi_idx.info) AS rating, + MIN(t.title) AS mainstream_movie +FROM company_name AS cn, + company_type AS ct, + info_type AS it1, + info_type AS it2, + movie_companies AS mc, + movie_info AS mi, + movie_info_idx AS mi_idx, + title AS t +WHERE cn.country_code = '[us]' + AND ct.kind = 'production companies' + AND it1.info = 'genres' + AND it2.info = 'rating' + AND mi.info IN ('Drama', + 'Horror', + 'Western', + 'Family') + AND mi_idx.info > '7.0' + AND t.production_year BETWEEN 2000 AND 2010 + AND t.id = mi.movie_id + AND t.id = mi_idx.movie_id + AND mi.info_type_id = it1.id + AND mi_idx.info_type_id = it2.id + AND t.id = mc.movie_id + AND ct.id = mc.company_type_id + AND cn.id = mc.company_id + AND mc.movie_id = mi.movie_id + AND mc.movie_id = mi_idx.movie_id + AND mi.movie_id = mi_idx.movie_id; + +result sql_benchmarks/imdb/results/12c.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/13a.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/13a.benchmark new file mode 100644 index 0000000000000..60f65978022cf --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/13a.benchmark @@ -0,0 +1,45 @@ +name Q13a +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(mi.info) AS release_date, + MIN(miidx.info) AS rating, + MIN(t.title) AS german_movie +FROM company_name AS cn, + company_type AS ct, + info_type AS it, + info_type AS it2, + kind_type AS kt, + movie_companies AS mc, + movie_info AS mi, + movie_info_idx AS miidx, + title AS t +WHERE cn.country_code ='[de]' + AND ct.kind ='production companies' + AND it.info ='rating' + AND it2.info ='release dates' + AND kt.kind ='movie' + AND mi.movie_id = t.id + AND it2.id = mi.info_type_id + AND kt.id = t.kind_id + AND mc.movie_id = t.id + AND cn.id = mc.company_id + AND ct.id = mc.company_type_id + AND miidx.movie_id = t.id + AND it.id = miidx.info_type_id + AND mi.movie_id = miidx.movie_id + AND mi.movie_id = mc.movie_id + AND miidx.movie_id = mc.movie_id; + +result sql_benchmarks/imdb/results/13a.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/13b.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/13b.benchmark new file mode 100644 index 0000000000000..fbd016322bdac --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/13b.benchmark @@ -0,0 +1,48 @@ +name Q13b +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(cn.name) AS producing_company, + MIN(miidx.info) AS rating, + MIN(t.title) AS movie_about_winning +FROM company_name AS cn, + company_type AS ct, + info_type AS it, + info_type AS it2, + kind_type AS kt, + movie_companies AS mc, + movie_info AS mi, + movie_info_idx AS miidx, + title AS t +WHERE cn.country_code ='[us]' + AND ct.kind ='production companies' + AND it.info ='rating' + AND it2.info ='release dates' + AND kt.kind ='movie' + AND t.title != '' + AND (t.title LIKE '%Champion%' + OR t.title LIKE '%Loser%') + AND mi.movie_id = t.id + AND it2.id = mi.info_type_id + AND kt.id = t.kind_id + AND mc.movie_id = t.id + AND cn.id = mc.company_id + AND ct.id = mc.company_type_id + AND miidx.movie_id = t.id + AND it.id = miidx.info_type_id + AND mi.movie_id = miidx.movie_id + AND mi.movie_id = mc.movie_id + AND miidx.movie_id = mc.movie_id; + +result sql_benchmarks/imdb/results/13b.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/13c.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/13c.benchmark new file mode 100644 index 0000000000000..b053b9eba9543 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/13c.benchmark @@ -0,0 +1,48 @@ +name Q13c +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(cn.name) AS producing_company, + MIN(miidx.info) AS rating, + MIN(t.title) AS movie_about_winning +FROM company_name AS cn, + company_type AS ct, + info_type AS it, + info_type AS it2, + kind_type AS kt, + movie_companies AS mc, + movie_info AS mi, + movie_info_idx AS miidx, + title AS t +WHERE cn.country_code ='[us]' + AND ct.kind ='production companies' + AND it.info ='rating' + AND it2.info ='release dates' + AND kt.kind ='movie' + AND t.title != '' + AND (t.title LIKE 'Champion%' + OR t.title LIKE 'Loser%') + AND mi.movie_id = t.id + AND it2.id = mi.info_type_id + AND kt.id = t.kind_id + AND mc.movie_id = t.id + AND cn.id = mc.company_id + AND ct.id = mc.company_type_id + AND miidx.movie_id = t.id + AND it.id = miidx.info_type_id + AND mi.movie_id = miidx.movie_id + AND mi.movie_id = mc.movie_id + AND miidx.movie_id = mc.movie_id; + +result sql_benchmarks/imdb/results/13c.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/13d.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/13d.benchmark new file mode 100644 index 0000000000000..f9807dcb2cde1 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/13d.benchmark @@ -0,0 +1,45 @@ +name Q13d +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(cn.name) AS producing_company, + MIN(miidx.info) AS rating, + MIN(t.title) AS movie +FROM company_name AS cn, + company_type AS ct, + info_type AS it, + info_type AS it2, + kind_type AS kt, + movie_companies AS mc, + movie_info AS mi, + movie_info_idx AS miidx, + title AS t +WHERE cn.country_code ='[us]' + AND ct.kind ='production companies' + AND it.info ='rating' + AND it2.info ='release dates' + AND kt.kind ='movie' + AND mi.movie_id = t.id + AND it2.id = mi.info_type_id + AND kt.id = t.kind_id + AND mc.movie_id = t.id + AND cn.id = mc.company_id + AND ct.id = mc.company_type_id + AND miidx.movie_id = t.id + AND it.id = miidx.info_type_id + AND mi.movie_id = miidx.movie_id + AND mi.movie_id = mc.movie_id + AND miidx.movie_id = mc.movie_id; + +result sql_benchmarks/imdb/results/13d.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/14a.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/14a.benchmark new file mode 100644 index 0000000000000..7b9fc0fb20796 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/14a.benchmark @@ -0,0 +1,56 @@ +name Q14a +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(mi_idx.info) AS rating, + MIN(t.title) AS northern_dark_movie +FROM info_type AS it1, + info_type AS it2, + keyword AS k, + kind_type AS kt, + movie_info AS mi, + movie_info_idx AS mi_idx, + movie_keyword AS mk, + title AS t +WHERE it1.info = 'countries' + AND it2.info = 'rating' + AND k.keyword IN ('murder', + 'murder-in-title', + 'blood', + 'violence') + AND kt.kind = 'movie' + AND mi.info IN ('Sweden', + 'Norway', + 'Germany', + 'Denmark', + 'Swedish', + 'Denish', + 'Norwegian', + 'German', + 'USA', + 'American') + AND mi_idx.info < '8.5' + AND t.production_year > 2010 + AND kt.id = t.kind_id + AND t.id = mi.movie_id + AND t.id = mk.movie_id + AND t.id = mi_idx.movie_id + AND mk.movie_id = mi.movie_id + AND mk.movie_id = mi_idx.movie_id + AND mi.movie_id = mi_idx.movie_id + AND k.id = mk.keyword_id + AND it1.id = mi.info_type_id + AND it2.id = mi_idx.info_type_id; + +result sql_benchmarks/imdb/results/14a.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/14b.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/14b.benchmark new file mode 100644 index 0000000000000..b843cbd341a25 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/14b.benchmark @@ -0,0 +1,57 @@ +name Q14b +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(mi_idx.info) AS rating, + MIN(t.title) AS western_dark_production +FROM info_type AS it1, + info_type AS it2, + keyword AS k, + kind_type AS kt, + movie_info AS mi, + movie_info_idx AS mi_idx, + movie_keyword AS mk, + title AS t +WHERE it1.info = 'countries' + AND it2.info = 'rating' + AND k.keyword IN ('murder', + 'murder-in-title') + AND kt.kind = 'movie' + AND mi.info IN ('Sweden', + 'Norway', + 'Germany', + 'Denmark', + 'Swedish', + 'Denish', + 'Norwegian', + 'German', + 'USA', + 'American') + AND mi_idx.info > '6.0' + AND t.production_year > 2010 + AND (t.title LIKE '%murder%' + OR t.title LIKE '%Murder%' + OR t.title LIKE '%Mord%') + AND kt.id = t.kind_id + AND t.id = mi.movie_id + AND t.id = mk.movie_id + AND t.id = mi_idx.movie_id + AND mk.movie_id = mi.movie_id + AND mk.movie_id = mi_idx.movie_id + AND mi.movie_id = mi_idx.movie_id + AND k.id = mk.keyword_id + AND it1.id = mi.info_type_id + AND it2.id = mi_idx.info_type_id; + +result sql_benchmarks/imdb/results/14b.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/14c.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/14c.benchmark new file mode 100644 index 0000000000000..2ea8cb2d3843a --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/14c.benchmark @@ -0,0 +1,58 @@ +name Q14c +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(mi_idx.info) AS rating, + MIN(t.title) AS north_european_dark_production +FROM info_type AS it1, + info_type AS it2, + keyword AS k, + kind_type AS kt, + movie_info AS mi, + movie_info_idx AS mi_idx, + movie_keyword AS mk, + title AS t +WHERE it1.info = 'countries' + AND it2.info = 'rating' + AND k.keyword IS NOT NULL + AND k.keyword IN ('murder', + 'murder-in-title', + 'blood', + 'violence') + AND kt.kind IN ('movie', + 'episode') + AND mi.info IN ('Sweden', + 'Norway', + 'Germany', + 'Denmark', + 'Swedish', + 'Danish', + 'Norwegian', + 'German', + 'USA', + 'American') + AND mi_idx.info < '8.5' + AND t.production_year > 2005 + AND kt.id = t.kind_id + AND t.id = mi.movie_id + AND t.id = mk.movie_id + AND t.id = mi_idx.movie_id + AND mk.movie_id = mi.movie_id + AND mk.movie_id = mi_idx.movie_id + AND mi.movie_id = mi_idx.movie_id + AND k.id = mk.keyword_id + AND it1.id = mi.info_type_id + AND it2.id = mi_idx.info_type_id; + +result sql_benchmarks/imdb/results/14c.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/15a.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/15a.benchmark new file mode 100644 index 0000000000000..47999ab30df78 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/15a.benchmark @@ -0,0 +1,49 @@ +name Q15a +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(mi.info) AS release_date, + MIN(t.title) AS internet_movie +FROM aka_title AS at_, + company_name AS cn, + company_type AS ct, + info_type AS it1, + keyword AS k, + movie_companies AS mc, + movie_info AS mi, + movie_keyword AS mk, + title AS t +WHERE cn.country_code = '[us]' + AND it1.info = 'release dates' + AND mc.note LIKE '%(200%)%' + AND mc.note LIKE '%(worldwide)%' + AND mi.note LIKE '%internet%' + AND mi.info LIKE 'USA:% 200%' + AND t.production_year > 2000 + AND t.id = at_.movie_id + AND t.id = mi.movie_id + AND t.id = mk.movie_id + AND t.id = mc.movie_id + AND mk.movie_id = mi.movie_id + AND mk.movie_id = mc.movie_id + AND mk.movie_id = at_.movie_id + AND mi.movie_id = mc.movie_id + AND mi.movie_id = at_.movie_id + AND mc.movie_id = at_.movie_id + AND k.id = mk.keyword_id + AND it1.id = mi.info_type_id + AND cn.id = mc.company_id + AND ct.id = mc.company_type_id; + +result sql_benchmarks/imdb/results/15a.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/15b.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/15b.benchmark new file mode 100644 index 0000000000000..ec90b379fe5d2 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/15b.benchmark @@ -0,0 +1,50 @@ +name Q15b +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(mi.info) AS release_date, + MIN(t.title) AS youtube_movie +FROM aka_title AS at_, + company_name AS cn, + company_type AS ct, + info_type AS it1, + keyword AS k, + movie_companies AS mc, + movie_info AS mi, + movie_keyword AS mk, + title AS t +WHERE cn.country_code = '[us]' + AND cn.name = 'YouTube' + AND it1.info = 'release dates' + AND mc.note LIKE '%(200%)%' + AND mc.note LIKE '%(worldwide)%' + AND mi.note LIKE '%internet%' + AND mi.info LIKE 'USA:% 200%' + AND t.production_year BETWEEN 2005 AND 2010 + AND t.id = at_.movie_id + AND t.id = mi.movie_id + AND t.id = mk.movie_id + AND t.id = mc.movie_id + AND mk.movie_id = mi.movie_id + AND mk.movie_id = mc.movie_id + AND mk.movie_id = at_.movie_id + AND mi.movie_id = mc.movie_id + AND mi.movie_id = at_.movie_id + AND mc.movie_id = at_.movie_id + AND k.id = mk.keyword_id + AND it1.id = mi.info_type_id + AND cn.id = mc.company_id + AND ct.id = mc.company_type_id; + +result sql_benchmarks/imdb/results/15b.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/15c.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/15c.benchmark new file mode 100644 index 0000000000000..a9e134520389f --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/15c.benchmark @@ -0,0 +1,49 @@ +name Q15c +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(mi.info) AS release_date, + MIN(t.title) AS modern_american_internet_movie +FROM aka_title AS at_, + company_name AS cn, + company_type AS ct, + info_type AS it1, + keyword AS k, + movie_companies AS mc, + movie_info AS mi, + movie_keyword AS mk, + title AS t +WHERE cn.country_code = '[us]' + AND it1.info = 'release dates' + AND mi.note LIKE '%internet%' + AND mi.info IS NOT NULL + AND (mi.info LIKE 'USA:% 199%' + OR mi.info LIKE 'USA:% 200%') + AND t.production_year > 1990 + AND t.id = at_.movie_id + AND t.id = mi.movie_id + AND t.id = mk.movie_id + AND t.id = mc.movie_id + AND mk.movie_id = mi.movie_id + AND mk.movie_id = mc.movie_id + AND mk.movie_id = at_.movie_id + AND mi.movie_id = mc.movie_id + AND mi.movie_id = at_.movie_id + AND mc.movie_id = at_.movie_id + AND k.id = mk.keyword_id + AND it1.id = mi.info_type_id + AND cn.id = mc.company_id + AND ct.id = mc.company_type_id; + +result sql_benchmarks/imdb/results/15c.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/15d.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/15d.benchmark new file mode 100644 index 0000000000000..7f51437509651 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/15d.benchmark @@ -0,0 +1,46 @@ +name Q15d +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(at_.title) AS aka_title, + MIN(t.title) AS internet_movie_title +FROM aka_title AS at_, + company_name AS cn, + company_type AS ct, + info_type AS it1, + keyword AS k, + movie_companies AS mc, + movie_info AS mi, + movie_keyword AS mk, + title AS t +WHERE cn.country_code = '[us]' + AND it1.info = 'release dates' + AND mi.note LIKE '%internet%' + AND t.production_year > 1990 + AND t.id = at_.movie_id + AND t.id = mi.movie_id + AND t.id = mk.movie_id + AND t.id = mc.movie_id + AND mk.movie_id = mi.movie_id + AND mk.movie_id = mc.movie_id + AND mk.movie_id = at_.movie_id + AND mi.movie_id = mc.movie_id + AND mi.movie_id = at_.movie_id + AND mc.movie_id = at_.movie_id + AND k.id = mk.keyword_id + AND it1.id = mi.info_type_id + AND cn.id = mc.company_id + AND ct.id = mc.company_type_id; + +result sql_benchmarks/imdb/results/15d.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/16a.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/16a.benchmark new file mode 100644 index 0000000000000..dd440026a5f91 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/16a.benchmark @@ -0,0 +1,42 @@ +name Q16a +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(an.name) AS cool_actor_pseudonym, + MIN(t.title) AS series_named_after_char +FROM aka_name AS an, + cast_info AS ci, + company_name AS cn, + keyword AS k, + movie_companies AS mc, + movie_keyword AS mk, + name AS n, + title AS t +WHERE cn.country_code ='[us]' + AND k.keyword ='character-name-in-title' + AND t.episode_nr >= 50 + AND t.episode_nr < 100 + AND an.person_id = n.id + AND n.id = ci.person_id + AND ci.movie_id = t.id + AND t.id = mk.movie_id + AND mk.keyword_id = k.id + AND t.id = mc.movie_id + AND mc.company_id = cn.id + AND an.person_id = ci.person_id + AND ci.movie_id = mc.movie_id + AND ci.movie_id = mk.movie_id + AND mc.movie_id = mk.movie_id; + +result sql_benchmarks/imdb/results/16a.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/16b.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/16b.benchmark new file mode 100644 index 0000000000000..7fade8228fc1a --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/16b.benchmark @@ -0,0 +1,40 @@ +name Q16b +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(an.name) AS cool_actor_pseudonym, + MIN(t.title) AS series_named_after_char +FROM aka_name AS an, + cast_info AS ci, + company_name AS cn, + keyword AS k, + movie_companies AS mc, + movie_keyword AS mk, + name AS n, + title AS t +WHERE cn.country_code ='[us]' + AND k.keyword ='character-name-in-title' + AND an.person_id = n.id + AND n.id = ci.person_id + AND ci.movie_id = t.id + AND t.id = mk.movie_id + AND mk.keyword_id = k.id + AND t.id = mc.movie_id + AND mc.company_id = cn.id + AND an.person_id = ci.person_id + AND ci.movie_id = mc.movie_id + AND ci.movie_id = mk.movie_id + AND mc.movie_id = mk.movie_id; + +result sql_benchmarks/imdb/results/16b.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/16c.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/16c.benchmark new file mode 100644 index 0000000000000..d1ea1f6f04b14 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/16c.benchmark @@ -0,0 +1,41 @@ +name Q16c +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(an.name) AS cool_actor_pseudonym, + MIN(t.title) AS series_named_after_char +FROM aka_name AS an, + cast_info AS ci, + company_name AS cn, + keyword AS k, + movie_companies AS mc, + movie_keyword AS mk, + name AS n, + title AS t +WHERE cn.country_code ='[us]' + AND k.keyword ='character-name-in-title' + AND t.episode_nr < 100 + AND an.person_id = n.id + AND n.id = ci.person_id + AND ci.movie_id = t.id + AND t.id = mk.movie_id + AND mk.keyword_id = k.id + AND t.id = mc.movie_id + AND mc.company_id = cn.id + AND an.person_id = ci.person_id + AND ci.movie_id = mc.movie_id + AND ci.movie_id = mk.movie_id + AND mc.movie_id = mk.movie_id; + +result sql_benchmarks/imdb/results/16c.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/16d.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/16d.benchmark new file mode 100644 index 0000000000000..7622fc980d632 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/16d.benchmark @@ -0,0 +1,42 @@ +name Q16d +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(an.name) AS cool_actor_pseudonym, + MIN(t.title) AS series_named_after_char +FROM aka_name AS an, + cast_info AS ci, + company_name AS cn, + keyword AS k, + movie_companies AS mc, + movie_keyword AS mk, + name AS n, + title AS t +WHERE cn.country_code ='[us]' + AND k.keyword ='character-name-in-title' + AND t.episode_nr >= 5 + AND t.episode_nr < 100 + AND an.person_id = n.id + AND n.id = ci.person_id + AND ci.movie_id = t.id + AND t.id = mk.movie_id + AND mk.keyword_id = k.id + AND t.id = mc.movie_id + AND mc.company_id = cn.id + AND an.person_id = ci.person_id + AND ci.movie_id = mc.movie_id + AND ci.movie_id = mk.movie_id + AND mc.movie_id = mk.movie_id; + +result sql_benchmarks/imdb/results/16d.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/17a.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/17a.benchmark new file mode 100644 index 0000000000000..3bf51dc255dde --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/17a.benchmark @@ -0,0 +1,38 @@ +name Q17a +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(n.name) AS member_in_charnamed_american_movie, + MIN(n.name) AS a1 +FROM cast_info AS ci, + company_name AS cn, + keyword AS k, + movie_companies AS mc, + movie_keyword AS mk, + name AS n, + title AS t +WHERE cn.country_code ='[us]' + AND k.keyword ='character-name-in-title' + AND n.name LIKE 'B%' + AND n.id = ci.person_id + AND ci.movie_id = t.id + AND t.id = mk.movie_id + AND mk.keyword_id = k.id + AND t.id = mc.movie_id + AND mc.company_id = cn.id + AND ci.movie_id = mc.movie_id + AND ci.movie_id = mk.movie_id + AND mc.movie_id = mk.movie_id; + +result sql_benchmarks/imdb/results/17a.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/17b.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/17b.benchmark new file mode 100644 index 0000000000000..abe492623a76e --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/17b.benchmark @@ -0,0 +1,37 @@ +name Q17b +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(n.name) AS member_in_charnamed_movie, + MIN(n.name) AS a1 +FROM cast_info AS ci, + company_name AS cn, + keyword AS k, + movie_companies AS mc, + movie_keyword AS mk, + name AS n, + title AS t +WHERE k.keyword ='character-name-in-title' + AND n.name LIKE 'Z%' + AND n.id = ci.person_id + AND ci.movie_id = t.id + AND t.id = mk.movie_id + AND mk.keyword_id = k.id + AND t.id = mc.movie_id + AND mc.company_id = cn.id + AND ci.movie_id = mc.movie_id + AND ci.movie_id = mk.movie_id + AND mc.movie_id = mk.movie_id; + +result sql_benchmarks/imdb/results/17b.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/17c.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/17c.benchmark new file mode 100644 index 0000000000000..83561d72f194e --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/17c.benchmark @@ -0,0 +1,37 @@ +name Q17c +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(n.name) AS member_in_charnamed_movie, + MIN(n.name) AS a1 +FROM cast_info AS ci, + company_name AS cn, + keyword AS k, + movie_companies AS mc, + movie_keyword AS mk, + name AS n, + title AS t +WHERE k.keyword ='character-name-in-title' + AND n.name LIKE 'X%' + AND n.id = ci.person_id + AND ci.movie_id = t.id + AND t.id = mk.movie_id + AND mk.keyword_id = k.id + AND t.id = mc.movie_id + AND mc.company_id = cn.id + AND ci.movie_id = mc.movie_id + AND ci.movie_id = mk.movie_id + AND mc.movie_id = mk.movie_id; + +result sql_benchmarks/imdb/results/17c.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/17d.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/17d.benchmark new file mode 100644 index 0000000000000..d7df85a5b68fb --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/17d.benchmark @@ -0,0 +1,36 @@ +name Q17d +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(n.name) AS member_in_charnamed_movie +FROM cast_info AS ci, + company_name AS cn, + keyword AS k, + movie_companies AS mc, + movie_keyword AS mk, + name AS n, + title AS t +WHERE k.keyword ='character-name-in-title' + AND n.name LIKE '%Bert%' + AND n.id = ci.person_id + AND ci.movie_id = t.id + AND t.id = mk.movie_id + AND mk.keyword_id = k.id + AND t.id = mc.movie_id + AND mc.company_id = cn.id + AND ci.movie_id = mc.movie_id + AND ci.movie_id = mk.movie_id + AND mc.movie_id = mk.movie_id; + +result sql_benchmarks/imdb/results/17d.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/17e.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/17e.benchmark new file mode 100644 index 0000000000000..b05b5e1cd1a2c --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/17e.benchmark @@ -0,0 +1,36 @@ +name Q17e +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(n.name) AS member_in_charnamed_movie +FROM cast_info AS ci, + company_name AS cn, + keyword AS k, + movie_companies AS mc, + movie_keyword AS mk, + name AS n, + title AS t +WHERE cn.country_code ='[us]' + AND k.keyword ='character-name-in-title' + AND n.id = ci.person_id + AND ci.movie_id = t.id + AND t.id = mk.movie_id + AND mk.keyword_id = k.id + AND t.id = mc.movie_id + AND mc.company_id = cn.id + AND ci.movie_id = mc.movie_id + AND ci.movie_id = mk.movie_id + AND mc.movie_id = mk.movie_id; + +result sql_benchmarks/imdb/results/17e.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/17f.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/17f.benchmark new file mode 100644 index 0000000000000..4feef0a7f8ac8 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/17f.benchmark @@ -0,0 +1,36 @@ +name Q17f +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(n.name) AS member_in_charnamed_movie +FROM cast_info AS ci, + company_name AS cn, + keyword AS k, + movie_companies AS mc, + movie_keyword AS mk, + name AS n, + title AS t +WHERE k.keyword ='character-name-in-title' + AND n.name LIKE '%B%' + AND n.id = ci.person_id + AND ci.movie_id = t.id + AND t.id = mk.movie_id + AND mk.keyword_id = k.id + AND t.id = mc.movie_id + AND mc.company_id = cn.id + AND ci.movie_id = mc.movie_id + AND ci.movie_id = mk.movie_id + AND mc.movie_id = mk.movie_id; + +result sql_benchmarks/imdb/results/17f.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/18a.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/18a.benchmark new file mode 100644 index 0000000000000..c3e5309e00e50 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/18a.benchmark @@ -0,0 +1,42 @@ +name Q18a +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(mi.info) AS movie_budget, + MIN(mi_idx.info) AS movie_votes, + MIN(t.title) AS movie_title +FROM cast_info AS ci, + info_type AS it1, + info_type AS it2, + movie_info AS mi, + movie_info_idx AS mi_idx, + name AS n, + title AS t +WHERE ci.note IN ('(producer)', + '(executive producer)') + AND it1.info = 'budget' + AND it2.info = 'votes' + AND n.gender = 'm' + AND n.name LIKE '%Tim%' + AND t.id = mi.movie_id + AND t.id = mi_idx.movie_id + AND t.id = ci.movie_id + AND ci.movie_id = mi.movie_id + AND ci.movie_id = mi_idx.movie_id + AND mi.movie_id = mi_idx.movie_id + AND n.id = ci.person_id + AND it1.id = mi.info_type_id + AND it2.id = mi_idx.info_type_id; + +result sql_benchmarks/imdb/results/18a.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/18b.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/18b.benchmark new file mode 100644 index 0000000000000..d527cb39858ed --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/18b.benchmark @@ -0,0 +1,50 @@ +name Q18b +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(mi.info) AS movie_budget, + MIN(mi_idx.info) AS movie_votes, + MIN(t.title) AS movie_title +FROM cast_info AS ci, + info_type AS it1, + info_type AS it2, + movie_info AS mi, + movie_info_idx AS mi_idx, + name AS n, + title AS t +WHERE ci.note IN ('(writer)', + '(head writer)', + '(written by)', + '(story)', + '(story editor)') + AND it1.info = 'genres' + AND it2.info = 'rating' + AND mi.info IN ('Horror', + 'Thriller') + AND mi.note IS NULL + AND mi_idx.info > '8.0' + AND n.gender IS NOT NULL + AND n.gender = 'f' + AND t.production_year BETWEEN 2008 AND 2014 + AND t.id = mi.movie_id + AND t.id = mi_idx.movie_id + AND t.id = ci.movie_id + AND ci.movie_id = mi.movie_id + AND ci.movie_id = mi_idx.movie_id + AND mi.movie_id = mi_idx.movie_id + AND n.id = ci.person_id + AND it1.id = mi.info_type_id + AND it2.id = mi_idx.info_type_id; + +result sql_benchmarks/imdb/results/18b.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/18c.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/18c.benchmark new file mode 100644 index 0000000000000..30aeff6153497 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/18c.benchmark @@ -0,0 +1,50 @@ +name Q18c +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(mi.info) AS movie_budget, + MIN(mi_idx.info) AS movie_votes, + MIN(t.title) AS movie_title +FROM cast_info AS ci, + info_type AS it1, + info_type AS it2, + movie_info AS mi, + movie_info_idx AS mi_idx, + name AS n, + title AS t +WHERE ci.note IN ('(writer)', + '(head writer)', + '(written by)', + '(story)', + '(story editor)') + AND it1.info = 'genres' + AND it2.info = 'votes' + AND mi.info IN ('Horror', + 'Action', + 'Sci-Fi', + 'Thriller', + 'Crime', + 'War') + AND n.gender = 'm' + AND t.id = mi.movie_id + AND t.id = mi_idx.movie_id + AND t.id = ci.movie_id + AND ci.movie_id = mi.movie_id + AND ci.movie_id = mi_idx.movie_id + AND mi.movie_id = mi_idx.movie_id + AND n.id = ci.person_id + AND it1.id = mi.info_type_id + AND it2.id = mi_idx.info_type_id; + +result sql_benchmarks/imdb/results/18c.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/19a.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/19a.benchmark new file mode 100644 index 0000000000000..eef6a7cdecf4e --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/19a.benchmark @@ -0,0 +1,58 @@ +name Q19a +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(n.name) AS voicing_actress, + MIN(t.title) AS voiced_movie +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 IN ('(voice)', + '(voice: Japanese version)', + '(voice) (uncredited)', + '(voice: English version)') + AND cn.country_code ='[us]' + AND it.info = 'release dates' + AND mc.note IS NOT NULL + AND (mc.note LIKE '%(USA)%' + OR mc.note LIKE '%(worldwide)%') + AND mi.info IS NOT NULL + AND (mi.info LIKE 'Japan:%200%' + OR mi.info LIKE 'USA:%200%') + AND n.gender ='f' + AND n.name LIKE '%Ang%' + AND rt.role ='actress' + AND t.production_year BETWEEN 2005 AND 2009 + 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; + +result sql_benchmarks/imdb/results/19a.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/19b.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/19b.benchmark new file mode 100644 index 0000000000000..49a29d2646c75 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/19b.benchmark @@ -0,0 +1,56 @@ +name Q19b +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +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; + +result sql_benchmarks/imdb/results/19b.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/19c.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/19c.benchmark new file mode 100644 index 0000000000000..1c13abf5fbbe1 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/19c.benchmark @@ -0,0 +1,55 @@ +name Q19c +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(n.name) AS voicing_actress, + MIN(t.title) AS jap_engl_voiced_movie +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 IN ('(voice)', + '(voice: Japanese version)', + '(voice) (uncredited)', + '(voice: English version)') + AND cn.country_code ='[us]' + AND it.info = 'release dates' + AND mi.info IS NOT NULL + AND (mi.info LIKE 'Japan:%200%' + OR mi.info LIKE 'USA:%200%') + AND n.gender ='f' + AND n.name LIKE '%An%' + AND rt.role ='actress' + AND t.production_year > 2000 + 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; + +result sql_benchmarks/imdb/results/19c.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/19d.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/19d.benchmark new file mode 100644 index 0000000000000..34dfd2ef43a64 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/19d.benchmark @@ -0,0 +1,51 @@ +name Q19d +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(n.name) AS voicing_actress, + MIN(t.title) AS jap_engl_voiced_movie +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 IN ('(voice)', + '(voice: Japanese version)', + '(voice) (uncredited)', + '(voice: English version)') + AND cn.country_code ='[us]' + AND it.info = 'release dates' + AND n.gender ='f' + AND rt.role ='actress' + AND t.production_year > 2000 + 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; + +result sql_benchmarks/imdb/results/19d.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/20a.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/20a.benchmark new file mode 100644 index 0000000000000..3a30479008616 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/20a.benchmark @@ -0,0 +1,55 @@ +name Q20a +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(t.title) AS complete_downey_ironman_movie +FROM complete_cast AS cc, + comp_cast_type AS cct1, + comp_cast_type AS cct2, + char_name AS chn, + cast_info AS ci, + keyword AS k, + kind_type AS kt, + movie_keyword AS mk, + name AS n, + title AS t +WHERE cct1.kind = 'cast' + AND cct2.kind LIKE '%complete%' + AND chn.name NOT LIKE '%Sherlock%' + AND (chn.name LIKE '%Tony%Stark%' + OR chn.name LIKE '%Iron%Man%') + AND k.keyword IN ('superhero', + 'sequel', + 'second-part', + 'marvel-comics', + 'based-on-comic', + 'tv-special', + 'fight', + 'violence') + AND kt.kind = 'movie' + AND t.production_year > 1950 + AND kt.id = t.kind_id + AND t.id = mk.movie_id + AND t.id = ci.movie_id + AND t.id = cc.movie_id + AND mk.movie_id = ci.movie_id + AND mk.movie_id = cc.movie_id + AND ci.movie_id = cc.movie_id + AND chn.id = ci.person_role_id + AND n.id = ci.person_id + AND k.id = mk.keyword_id + AND cct1.id = cc.subject_id + AND cct2.id = cc.status_id; + +result sql_benchmarks/imdb/results/20a.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/20b.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/20b.benchmark new file mode 100644 index 0000000000000..000eef0c3481e --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/20b.benchmark @@ -0,0 +1,56 @@ +name Q20b +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(t.title) AS complete_downey_ironman_movie +FROM complete_cast AS cc, + comp_cast_type AS cct1, + comp_cast_type AS cct2, + char_name AS chn, + cast_info AS ci, + keyword AS k, + kind_type AS kt, + movie_keyword AS mk, + name AS n, + title AS t +WHERE cct1.kind = 'cast' + AND cct2.kind LIKE '%complete%' + AND chn.name NOT LIKE '%Sherlock%' + AND (chn.name LIKE '%Tony%Stark%' + OR chn.name LIKE '%Iron%Man%') + AND k.keyword IN ('superhero', + 'sequel', + 'second-part', + 'marvel-comics', + 'based-on-comic', + 'tv-special', + 'fight', + 'violence') + AND kt.kind = 'movie' + AND n.name LIKE '%Downey%Robert%' + AND t.production_year > 2000 + AND kt.id = t.kind_id + AND t.id = mk.movie_id + AND t.id = ci.movie_id + AND t.id = cc.movie_id + AND mk.movie_id = ci.movie_id + AND mk.movie_id = cc.movie_id + AND ci.movie_id = cc.movie_id + AND chn.id = ci.person_role_id + AND n.id = ci.person_id + AND k.id = mk.keyword_id + AND cct1.id = cc.subject_id + AND cct2.id = cc.status_id; + +result sql_benchmarks/imdb/results/20b.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/20c.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/20c.benchmark new file mode 100644 index 0000000000000..4fa02af954c47 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/20c.benchmark @@ -0,0 +1,58 @@ +name Q20c +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(n.name) AS cast_member, + MIN(t.title) AS complete_dynamic_hero_movie +FROM complete_cast AS cc, + comp_cast_type AS cct1, + comp_cast_type AS cct2, + char_name AS chn, + cast_info AS ci, + keyword AS k, + kind_type AS kt, + movie_keyword AS mk, + name AS n, + title AS t +WHERE cct1.kind = 'cast' + AND cct2.kind LIKE '%complete%' + AND chn.name IS NOT NULL + AND (chn.name LIKE '%man%' + OR chn.name LIKE '%Man%') + AND k.keyword IN ('superhero', + 'marvel-comics', + 'based-on-comic', + 'tv-special', + 'fight', + 'violence', + 'magnet', + 'web', + 'claw', + 'laser') + AND kt.kind = 'movie' + AND t.production_year > 2000 + AND kt.id = t.kind_id + AND t.id = mk.movie_id + AND t.id = ci.movie_id + AND t.id = cc.movie_id + AND mk.movie_id = ci.movie_id + AND mk.movie_id = cc.movie_id + AND ci.movie_id = cc.movie_id + AND chn.id = ci.person_role_id + AND n.id = ci.person_id + AND k.id = mk.keyword_id + AND cct1.id = cc.subject_id + AND cct2.id = cc.status_id; + +result sql_benchmarks/imdb/results/20c.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/21a.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/21a.benchmark new file mode 100644 index 0000000000000..45713d402c719 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/21a.benchmark @@ -0,0 +1,59 @@ +name Q21a +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(cn.name) AS company_name, + MIN(lt.link) AS link_type, + MIN(t.title) AS western_follow_up +FROM company_name AS cn, + company_type AS ct, + keyword AS k, + link_type AS lt, + movie_companies AS mc, + movie_info AS mi, + movie_keyword AS mk, + movie_link AS ml, + title AS t +WHERE cn.country_code !='[pl]' + AND (cn.name LIKE '%Film%' + OR cn.name LIKE '%Warner%') + AND ct.kind ='production companies' + AND k.keyword ='sequel' + AND lt.link LIKE '%follow%' + AND mc.note IS NULL + AND mi.info IN ('Sweden', + 'Norway', + 'Germany', + 'Denmark', + 'Swedish', + 'Denish', + 'Norwegian', + 'German') + AND t.production_year BETWEEN 1950 AND 2000 + AND lt.id = ml.link_type_id + AND ml.movie_id = t.id + AND t.id = mk.movie_id + AND mk.keyword_id = k.id + AND t.id = mc.movie_id + AND mc.company_type_id = ct.id + AND mc.company_id = cn.id + AND mi.movie_id = t.id + AND ml.movie_id = mk.movie_id + AND ml.movie_id = mc.movie_id + AND mk.movie_id = mc.movie_id + AND ml.movie_id = mi.movie_id + AND mk.movie_id = mi.movie_id + AND mc.movie_id = mi.movie_id; + +result sql_benchmarks/imdb/results/21a.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/21b.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/21b.benchmark new file mode 100644 index 0000000000000..9fc4a1acd88ef --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/21b.benchmark @@ -0,0 +1,53 @@ +name Q21b +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(cn.name) AS company_name, + MIN(lt.link) AS link_type, + MIN(t.title) AS german_follow_up +FROM company_name AS cn, + company_type AS ct, + keyword AS k, + link_type AS lt, + movie_companies AS mc, + movie_info AS mi, + movie_keyword AS mk, + movie_link AS ml, + title AS t +WHERE cn.country_code !='[pl]' + AND (cn.name LIKE '%Film%' + OR cn.name LIKE '%Warner%') + AND ct.kind ='production companies' + AND k.keyword ='sequel' + AND lt.link LIKE '%follow%' + AND mc.note IS NULL + AND mi.info IN ('Germany', + 'German') + AND t.production_year BETWEEN 2000 AND 2010 + AND lt.id = ml.link_type_id + AND ml.movie_id = t.id + AND t.id = mk.movie_id + AND mk.keyword_id = k.id + AND t.id = mc.movie_id + AND mc.company_type_id = ct.id + AND mc.company_id = cn.id + AND mi.movie_id = t.id + AND ml.movie_id = mk.movie_id + AND ml.movie_id = mc.movie_id + AND mk.movie_id = mc.movie_id + AND ml.movie_id = mi.movie_id + AND mk.movie_id = mi.movie_id + AND mc.movie_id = mi.movie_id; + +result sql_benchmarks/imdb/results/21b.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/21c.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/21c.benchmark new file mode 100644 index 0000000000000..9143fc3fc642f --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/21c.benchmark @@ -0,0 +1,60 @@ +name Q21c +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(cn.name) AS company_name, + MIN(lt.link) AS link_type, + MIN(t.title) AS western_follow_up +FROM company_name AS cn, + company_type AS ct, + keyword AS k, + link_type AS lt, + movie_companies AS mc, + movie_info AS mi, + movie_keyword AS mk, + movie_link AS ml, + title AS t +WHERE cn.country_code !='[pl]' + AND (cn.name LIKE '%Film%' + OR cn.name LIKE '%Warner%') + AND ct.kind ='production companies' + AND k.keyword ='sequel' + AND lt.link LIKE '%follow%' + AND mc.note IS NULL + AND mi.info IN ('Sweden', + 'Norway', + 'Germany', + 'Denmark', + 'Swedish', + 'Denish', + 'Norwegian', + 'German', + 'English') + AND t.production_year BETWEEN 1950 AND 2010 + AND lt.id = ml.link_type_id + AND ml.movie_id = t.id + AND t.id = mk.movie_id + AND mk.keyword_id = k.id + AND t.id = mc.movie_id + AND mc.company_type_id = ct.id + AND mc.company_id = cn.id + AND mi.movie_id = t.id + AND ml.movie_id = mk.movie_id + AND ml.movie_id = mc.movie_id + AND mk.movie_id = mc.movie_id + AND ml.movie_id = mi.movie_id + AND mk.movie_id = mi.movie_id + AND mc.movie_id = mi.movie_id; + +result sql_benchmarks/imdb/results/21c.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/22a.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/22a.benchmark new file mode 100644 index 0000000000000..053bb3a0885bd --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/22a.benchmark @@ -0,0 +1,64 @@ +name Q22a +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(cn.name) AS movie_company, + MIN(mi_idx.info) AS rating, + MIN(t.title) AS western_violent_movie +FROM company_name AS cn, + company_type AS ct, + info_type AS it1, + info_type AS it2, + keyword AS k, + kind_type AS kt, + movie_companies AS mc, + movie_info AS mi, + movie_info_idx AS mi_idx, + movie_keyword AS mk, + title AS t +WHERE cn.country_code != '[us]' + AND it1.info = 'countries' + AND it2.info = 'rating' + AND k.keyword IN ('murder', + 'murder-in-title', + 'blood', + 'violence') + AND kt.kind IN ('movie', + 'episode') + AND mc.note NOT LIKE '%(USA)%' + AND mc.note LIKE '%(200%)%' + AND mi.info IN ('Germany', + 'German', + 'USA', + 'American') + AND mi_idx.info < '7.0' + AND t.production_year > 2008 + AND kt.id = t.kind_id + AND t.id = mi.movie_id + AND t.id = mk.movie_id + AND t.id = mi_idx.movie_id + AND t.id = mc.movie_id + AND mk.movie_id = mi.movie_id + AND mk.movie_id = mi_idx.movie_id + AND mk.movie_id = mc.movie_id + AND mi.movie_id = mi_idx.movie_id + AND mi.movie_id = mc.movie_id + AND mc.movie_id = mi_idx.movie_id + AND k.id = mk.keyword_id + AND it1.id = mi.info_type_id + AND it2.id = mi_idx.info_type_id + AND ct.id = mc.company_type_id + AND cn.id = mc.company_id; + +result sql_benchmarks/imdb/results/22a.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/22b.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/22b.benchmark new file mode 100644 index 0000000000000..5e3c9011e6dae --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/22b.benchmark @@ -0,0 +1,64 @@ +name Q22b +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(cn.name) AS movie_company, + MIN(mi_idx.info) AS rating, + MIN(t.title) AS western_violent_movie +FROM company_name AS cn, + company_type AS ct, + info_type AS it1, + info_type AS it2, + keyword AS k, + kind_type AS kt, + movie_companies AS mc, + movie_info AS mi, + movie_info_idx AS mi_idx, + movie_keyword AS mk, + title AS t +WHERE cn.country_code != '[us]' + AND it1.info = 'countries' + AND it2.info = 'rating' + AND k.keyword IN ('murder', + 'murder-in-title', + 'blood', + 'violence') + AND kt.kind IN ('movie', + 'episode') + AND mc.note NOT LIKE '%(USA)%' + AND mc.note LIKE '%(200%)%' + AND mi.info IN ('Germany', + 'German', + 'USA', + 'American') + AND mi_idx.info < '7.0' + AND t.production_year > 2009 + AND kt.id = t.kind_id + AND t.id = mi.movie_id + AND t.id = mk.movie_id + AND t.id = mi_idx.movie_id + AND t.id = mc.movie_id + AND mk.movie_id = mi.movie_id + AND mk.movie_id = mi_idx.movie_id + AND mk.movie_id = mc.movie_id + AND mi.movie_id = mi_idx.movie_id + AND mi.movie_id = mc.movie_id + AND mc.movie_id = mi_idx.movie_id + AND k.id = mk.keyword_id + AND it1.id = mi.info_type_id + AND it2.id = mi_idx.info_type_id + AND ct.id = mc.company_type_id + AND cn.id = mc.company_id; + +result sql_benchmarks/imdb/results/22b.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/22c.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/22c.benchmark new file mode 100644 index 0000000000000..72f9eae846548 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/22c.benchmark @@ -0,0 +1,70 @@ +name Q22c +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(cn.name) AS movie_company, + MIN(mi_idx.info) AS rating, + MIN(t.title) AS western_violent_movie +FROM company_name AS cn, + company_type AS ct, + info_type AS it1, + info_type AS it2, + keyword AS k, + kind_type AS kt, + movie_companies AS mc, + movie_info AS mi, + movie_info_idx AS mi_idx, + movie_keyword AS mk, + title AS t +WHERE cn.country_code != '[us]' + AND it1.info = 'countries' + AND it2.info = 'rating' + AND k.keyword IN ('murder', + 'murder-in-title', + 'blood', + 'violence') + AND kt.kind IN ('movie', + 'episode') + AND mc.note NOT LIKE '%(USA)%' + AND mc.note LIKE '%(200%)%' + AND mi.info IN ('Sweden', + 'Norway', + 'Germany', + 'Denmark', + 'Swedish', + 'Danish', + 'Norwegian', + 'German', + 'USA', + 'American') + AND mi_idx.info < '8.5' + AND t.production_year > 2005 + AND kt.id = t.kind_id + AND t.id = mi.movie_id + AND t.id = mk.movie_id + AND t.id = mi_idx.movie_id + AND t.id = mc.movie_id + AND mk.movie_id = mi.movie_id + AND mk.movie_id = mi_idx.movie_id + AND mk.movie_id = mc.movie_id + AND mi.movie_id = mi_idx.movie_id + AND mi.movie_id = mc.movie_id + AND mc.movie_id = mi_idx.movie_id + AND k.id = mk.keyword_id + AND it1.id = mi.info_type_id + AND it2.id = mi_idx.info_type_id + AND ct.id = mc.company_type_id + AND cn.id = mc.company_id; + +result sql_benchmarks/imdb/results/22c.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/22d.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/22d.benchmark new file mode 100644 index 0000000000000..c7906c6f0b757 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/22d.benchmark @@ -0,0 +1,68 @@ +name Q22d +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(cn.name) AS movie_company, + MIN(mi_idx.info) AS rating, + MIN(t.title) AS western_violent_movie +FROM company_name AS cn, + company_type AS ct, + info_type AS it1, + info_type AS it2, + keyword AS k, + kind_type AS kt, + movie_companies AS mc, + movie_info AS mi, + movie_info_idx AS mi_idx, + movie_keyword AS mk, + title AS t +WHERE cn.country_code != '[us]' + AND it1.info = 'countries' + AND it2.info = 'rating' + AND k.keyword IN ('murder', + 'murder-in-title', + 'blood', + 'violence') + AND kt.kind IN ('movie', + 'episode') + AND mi.info IN ('Sweden', + 'Norway', + 'Germany', + 'Denmark', + 'Swedish', + 'Danish', + 'Norwegian', + 'German', + 'USA', + 'American') + AND mi_idx.info < '8.5' + AND t.production_year > 2005 + AND kt.id = t.kind_id + AND t.id = mi.movie_id + AND t.id = mk.movie_id + AND t.id = mi_idx.movie_id + AND t.id = mc.movie_id + AND mk.movie_id = mi.movie_id + AND mk.movie_id = mi_idx.movie_id + AND mk.movie_id = mc.movie_id + AND mi.movie_id = mi_idx.movie_id + AND mi.movie_id = mc.movie_id + AND mc.movie_id = mi_idx.movie_id + AND k.id = mk.keyword_id + AND it1.id = mi.info_type_id + AND it2.id = mi_idx.info_type_id + AND ct.id = mc.company_type_id + AND cn.id = mc.company_id; + +result sql_benchmarks/imdb/results/22d.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/23a.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/23a.benchmark new file mode 100644 index 0000000000000..6922670965b0c --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/23a.benchmark @@ -0,0 +1,55 @@ +name Q23a +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(kt.kind) AS movie_kind, + MIN(t.title) AS complete_us_internet_movie +FROM complete_cast AS cc, + comp_cast_type AS cct1, + company_name AS cn, + company_type AS ct, + info_type AS it1, + keyword AS k, + kind_type AS kt, + movie_companies AS mc, + movie_info AS mi, + movie_keyword AS mk, + title AS t +WHERE cct1.kind = 'complete+verified' + AND cn.country_code = '[us]' + AND it1.info = 'release dates' + AND kt.kind IN ('movie') + AND mi.note LIKE '%internet%' + AND mi.info IS NOT NULL + AND (mi.info LIKE 'USA:% 199%' + OR mi.info LIKE 'USA:% 200%') + AND t.production_year > 2000 + AND kt.id = t.kind_id + AND t.id = mi.movie_id + AND t.id = mk.movie_id + AND t.id = mc.movie_id + AND t.id = cc.movie_id + AND mk.movie_id = mi.movie_id + AND mk.movie_id = mc.movie_id + AND mk.movie_id = cc.movie_id + AND mi.movie_id = mc.movie_id + AND mi.movie_id = cc.movie_id + AND mc.movie_id = cc.movie_id + AND k.id = mk.keyword_id + AND it1.id = mi.info_type_id + AND cn.id = mc.company_id + AND ct.id = mc.company_type_id + AND cct1.id = cc.status_id; + +result sql_benchmarks/imdb/results/23a.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/23b.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/23b.benchmark new file mode 100644 index 0000000000000..800d1a4d6f9f5 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/23b.benchmark @@ -0,0 +1,57 @@ +name Q23b +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(kt.kind) AS movie_kind, + MIN(t.title) AS complete_nerdy_internet_movie +FROM complete_cast AS cc, + comp_cast_type AS cct1, + company_name AS cn, + company_type AS ct, + info_type AS it1, + keyword AS k, + kind_type AS kt, + movie_companies AS mc, + movie_info AS mi, + movie_keyword AS mk, + title AS t +WHERE cct1.kind = 'complete+verified' + AND cn.country_code = '[us]' + AND it1.info = 'release dates' + AND k.keyword IN ('nerd', + 'loner', + 'alienation', + 'dignity') + AND kt.kind IN ('movie') + AND mi.note LIKE '%internet%' + AND mi.info LIKE 'USA:% 200%' + AND t.production_year > 2000 + AND kt.id = t.kind_id + AND t.id = mi.movie_id + AND t.id = mk.movie_id + AND t.id = mc.movie_id + AND t.id = cc.movie_id + AND mk.movie_id = mi.movie_id + AND mk.movie_id = mc.movie_id + AND mk.movie_id = cc.movie_id + AND mi.movie_id = mc.movie_id + AND mi.movie_id = cc.movie_id + AND mc.movie_id = cc.movie_id + AND k.id = mk.keyword_id + AND it1.id = mi.info_type_id + AND cn.id = mc.company_id + AND ct.id = mc.company_type_id + AND cct1.id = cc.status_id; + +result sql_benchmarks/imdb/results/23b.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/23c.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/23c.benchmark new file mode 100644 index 0000000000000..7ef7b698ce737 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/23c.benchmark @@ -0,0 +1,58 @@ +name Q23c +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(kt.kind) AS movie_kind, + MIN(t.title) AS complete_us_internet_movie +FROM complete_cast AS cc, + comp_cast_type AS cct1, + company_name AS cn, + company_type AS ct, + info_type AS it1, + keyword AS k, + kind_type AS kt, + movie_companies AS mc, + movie_info AS mi, + movie_keyword AS mk, + title AS t +WHERE cct1.kind = 'complete+verified' + AND cn.country_code = '[us]' + AND it1.info = 'release dates' + AND kt.kind IN ('movie', + 'tv movie', + 'video movie', + 'video game') + AND mi.note LIKE '%internet%' + AND mi.info IS NOT NULL + AND (mi.info LIKE 'USA:% 199%' + OR mi.info LIKE 'USA:% 200%') + AND t.production_year > 1990 + AND kt.id = t.kind_id + AND t.id = mi.movie_id + AND t.id = mk.movie_id + AND t.id = mc.movie_id + AND t.id = cc.movie_id + AND mk.movie_id = mi.movie_id + AND mk.movie_id = mc.movie_id + AND mk.movie_id = cc.movie_id + AND mi.movie_id = mc.movie_id + AND mi.movie_id = cc.movie_id + AND mc.movie_id = cc.movie_id + AND k.id = mk.keyword_id + AND it1.id = mi.info_type_id + AND cn.id = mc.company_id + AND ct.id = mc.company_type_id + AND cct1.id = cc.status_id; + +result sql_benchmarks/imdb/results/23c.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/24a.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/24a.benchmark new file mode 100644 index 0000000000000..085b9104e512d --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/24a.benchmark @@ -0,0 +1,66 @@ +name Q24a +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(chn.name) AS voiced_char_name, + MIN(n.name) AS voicing_actress_name, + MIN(t.title) AS voiced_action_movie_jap_eng +FROM aka_name AS an, + char_name AS chn, + cast_info AS ci, + company_name AS cn, + info_type AS it, + keyword AS k, + movie_companies AS mc, + movie_info AS mi, + movie_keyword AS mk, + name AS n, + role_type AS rt, + title AS t +WHERE ci.note IN ('(voice)', + '(voice: Japanese version)', + '(voice) (uncredited)', + '(voice: English version)') + AND cn.country_code ='[us]' + AND it.info = 'release dates' + AND k.keyword IN ('hero', + 'martial-arts', + 'hand-to-hand-combat') + AND mi.info IS NOT NULL + AND (mi.info LIKE 'Japan:%201%' + OR mi.info LIKE 'USA:%201%') + AND n.gender ='f' + AND n.name LIKE '%An%' + AND rt.role ='actress' + AND t.production_year > 2010 + AND t.id = mi.movie_id + AND t.id = mc.movie_id + AND t.id = ci.movie_id + AND t.id = mk.movie_id + AND mc.movie_id = ci.movie_id + AND mc.movie_id = mi.movie_id + AND mc.movie_id = mk.movie_id + AND mi.movie_id = ci.movie_id + AND mi.movie_id = mk.movie_id + AND ci.movie_id = mk.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 + AND k.id = mk.keyword_id; + +result sql_benchmarks/imdb/results/24a.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/24b.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/24b.benchmark new file mode 100644 index 0000000000000..bdb50db40cead --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/24b.benchmark @@ -0,0 +1,69 @@ +name Q24b +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(chn.name) AS voiced_char_name, + MIN(n.name) AS voicing_actress_name, + 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, + keyword AS k, + movie_companies AS mc, + movie_info AS mi, + movie_keyword AS mk, + name AS n, + role_type AS rt, + title AS t +WHERE ci.note IN ('(voice)', + '(voice: Japanese version)', + '(voice) (uncredited)', + '(voice: English version)') + AND cn.country_code ='[us]' + AND cn.name = 'DreamWorks Animation' + AND it.info = 'release dates' + AND k.keyword IN ('hero', + 'martial-arts', + 'hand-to-hand-combat', + 'computer-animated-movie') + AND mi.info IS NOT NULL + AND (mi.info LIKE 'Japan:%201%' + OR mi.info LIKE 'USA:%201%') + AND n.gender ='f' + AND n.name LIKE '%An%' + AND rt.role ='actress' + AND t.production_year > 2010 + 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 t.id = mk.movie_id + AND mc.movie_id = ci.movie_id + AND mc.movie_id = mi.movie_id + AND mc.movie_id = mk.movie_id + AND mi.movie_id = ci.movie_id + AND mi.movie_id = mk.movie_id + AND ci.movie_id = mk.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 + AND k.id = mk.keyword_id; + +result sql_benchmarks/imdb/results/24b.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/25a.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/25a.benchmark new file mode 100644 index 0000000000000..4994f4492de15 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/25a.benchmark @@ -0,0 +1,58 @@ +name Q25a +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(mi.info) AS movie_budget, + MIN(mi_idx.info) AS movie_votes, + MIN(n.name) AS male_writer, + MIN(t.title) AS violent_movie_title +FROM cast_info AS ci, + info_type AS it1, + info_type AS it2, + keyword AS k, + movie_info AS mi, + movie_info_idx AS mi_idx, + movie_keyword AS mk, + name AS n, + title AS t +WHERE ci.note IN ('(writer)', + '(head writer)', + '(written by)', + '(story)', + '(story editor)') + AND it1.info = 'genres' + AND it2.info = 'votes' + AND k.keyword IN ('murder', + 'blood', + 'gore', + 'death', + 'female-nudity') + AND mi.info = 'Horror' + AND n.gender = 'm' + AND t.id = mi.movie_id + AND t.id = mi_idx.movie_id + AND t.id = ci.movie_id + AND t.id = mk.movie_id + AND ci.movie_id = mi.movie_id + AND ci.movie_id = mi_idx.movie_id + AND ci.movie_id = mk.movie_id + AND mi.movie_id = mi_idx.movie_id + AND mi.movie_id = mk.movie_id + AND mi_idx.movie_id = mk.movie_id + AND n.id = ci.person_id + AND it1.id = mi.info_type_id + AND it2.id = mi_idx.info_type_id + AND k.id = mk.keyword_id; + +result sql_benchmarks/imdb/results/25a.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/25b.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/25b.benchmark new file mode 100644 index 0000000000000..56acb0a881368 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/25b.benchmark @@ -0,0 +1,60 @@ +name Q25b +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(mi.info) AS movie_budget, + MIN(mi_idx.info) AS movie_votes, + MIN(n.name) AS male_writer, + MIN(t.title) AS violent_movie_title +FROM cast_info AS ci, + info_type AS it1, + info_type AS it2, + keyword AS k, + movie_info AS mi, + movie_info_idx AS mi_idx, + movie_keyword AS mk, + name AS n, + title AS t +WHERE ci.note IN ('(writer)', + '(head writer)', + '(written by)', + '(story)', + '(story editor)') + AND it1.info = 'genres' + AND it2.info = 'votes' + AND k.keyword IN ('murder', + 'blood', + 'gore', + 'death', + 'female-nudity') + AND mi.info = 'Horror' + AND n.gender = 'm' + AND t.production_year > 2010 + AND t.title LIKE 'Vampire%' + AND t.id = mi.movie_id + AND t.id = mi_idx.movie_id + AND t.id = ci.movie_id + AND t.id = mk.movie_id + AND ci.movie_id = mi.movie_id + AND ci.movie_id = mi_idx.movie_id + AND ci.movie_id = mk.movie_id + AND mi.movie_id = mi_idx.movie_id + AND mi.movie_id = mk.movie_id + AND mi_idx.movie_id = mk.movie_id + AND n.id = ci.person_id + AND it1.id = mi.info_type_id + AND it2.id = mi_idx.info_type_id + AND k.id = mk.keyword_id; + +result sql_benchmarks/imdb/results/25b.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/25c.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/25c.benchmark new file mode 100644 index 0000000000000..113b75c77bc24 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/25c.benchmark @@ -0,0 +1,65 @@ +name Q25c +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(mi.info) AS movie_budget, + MIN(mi_idx.info) AS movie_votes, + MIN(n.name) AS male_writer, + MIN(t.title) AS violent_movie_title +FROM cast_info AS ci, + info_type AS it1, + info_type AS it2, + keyword AS k, + movie_info AS mi, + movie_info_idx AS mi_idx, + movie_keyword AS mk, + name AS n, + title AS t +WHERE ci.note IN ('(writer)', + '(head writer)', + '(written by)', + '(story)', + '(story editor)') + AND it1.info = 'genres' + AND it2.info = 'votes' + AND k.keyword IN ('murder', + 'violence', + 'blood', + 'gore', + 'death', + 'female-nudity', + 'hospital') + AND mi.info IN ('Horror', + 'Action', + 'Sci-Fi', + 'Thriller', + 'Crime', + 'War') + AND n.gender = 'm' + AND t.id = mi.movie_id + AND t.id = mi_idx.movie_id + AND t.id = ci.movie_id + AND t.id = mk.movie_id + AND ci.movie_id = mi.movie_id + AND ci.movie_id = mi_idx.movie_id + AND ci.movie_id = mk.movie_id + AND mi.movie_id = mi_idx.movie_id + AND mi.movie_id = mk.movie_id + AND mi_idx.movie_id = mk.movie_id + AND n.id = ci.person_id + AND it1.id = mi.info_type_id + AND it2.id = mi_idx.info_type_id + AND k.id = mk.keyword_id; + +result sql_benchmarks/imdb/results/25c.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/26a.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/26a.benchmark new file mode 100644 index 0000000000000..17ebb36029223 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/26a.benchmark @@ -0,0 +1,69 @@ +name Q26a +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(chn.name) AS character_name, + MIN(mi_idx.info) AS rating, + MIN(n.name) AS playing_actor, + MIN(t.title) AS complete_hero_movie +FROM complete_cast AS cc, + comp_cast_type AS cct1, + comp_cast_type AS cct2, + char_name AS chn, + cast_info AS ci, + info_type AS it2, + keyword AS k, + kind_type AS kt, + movie_info_idx AS mi_idx, + movie_keyword AS mk, + name AS n, + title AS t +WHERE cct1.kind = 'cast' + AND cct2.kind LIKE '%complete%' + AND chn.name IS NOT NULL + AND (chn.name LIKE '%man%' + OR chn.name LIKE '%Man%') + AND it2.info = 'rating' + AND k.keyword IN ('superhero', + 'marvel-comics', + 'based-on-comic', + 'tv-special', + 'fight', + 'violence', + 'magnet', + 'web', + 'claw', + 'laser') + AND kt.kind = 'movie' + AND mi_idx.info > '7.0' + AND t.production_year > 2000 + AND kt.id = t.kind_id + AND t.id = mk.movie_id + AND t.id = ci.movie_id + AND t.id = cc.movie_id + AND t.id = mi_idx.movie_id + AND mk.movie_id = ci.movie_id + AND mk.movie_id = cc.movie_id + AND mk.movie_id = mi_idx.movie_id + AND ci.movie_id = cc.movie_id + AND ci.movie_id = mi_idx.movie_id + AND cc.movie_id = mi_idx.movie_id + AND chn.id = ci.person_role_id + AND n.id = ci.person_id + AND k.id = mk.keyword_id + AND cct1.id = cc.subject_id + AND cct2.id = cc.status_id + AND it2.id = mi_idx.info_type_id; + +result sql_benchmarks/imdb/results/26a.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/26b.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/26b.benchmark new file mode 100644 index 0000000000000..bc03fd914c08a --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/26b.benchmark @@ -0,0 +1,62 @@ +name Q26b +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(chn.name) AS character_name, + MIN(mi_idx.info) AS rating, + MIN(t.title) AS complete_hero_movie +FROM complete_cast AS cc, + comp_cast_type AS cct1, + comp_cast_type AS cct2, + char_name AS chn, + cast_info AS ci, + info_type AS it2, + keyword AS k, + kind_type AS kt, + movie_info_idx AS mi_idx, + movie_keyword AS mk, + name AS n, + title AS t +WHERE cct1.kind = 'cast' + AND cct2.kind LIKE '%complete%' + AND chn.name IS NOT NULL + AND (chn.name LIKE '%man%' + OR chn.name LIKE '%Man%') + AND it2.info = 'rating' + AND k.keyword IN ('superhero', + 'marvel-comics', + 'based-on-comic', + 'fight') + AND kt.kind = 'movie' + AND mi_idx.info > '8.0' + AND t.production_year > 2005 + AND kt.id = t.kind_id + AND t.id = mk.movie_id + AND t.id = ci.movie_id + AND t.id = cc.movie_id + AND t.id = mi_idx.movie_id + AND mk.movie_id = ci.movie_id + AND mk.movie_id = cc.movie_id + AND mk.movie_id = mi_idx.movie_id + AND ci.movie_id = cc.movie_id + AND ci.movie_id = mi_idx.movie_id + AND cc.movie_id = mi_idx.movie_id + AND chn.id = ci.person_role_id + AND n.id = ci.person_id + AND k.id = mk.keyword_id + AND cct1.id = cc.subject_id + AND cct2.id = cc.status_id + AND it2.id = mi_idx.info_type_id; + +result sql_benchmarks/imdb/results/26b.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/26c.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/26c.benchmark new file mode 100644 index 0000000000000..b07e738425c9c --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/26c.benchmark @@ -0,0 +1,67 @@ +name Q26c +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(chn.name) AS character_name, + MIN(mi_idx.info) AS rating, + MIN(t.title) AS complete_hero_movie +FROM complete_cast AS cc, + comp_cast_type AS cct1, + comp_cast_type AS cct2, + char_name AS chn, + cast_info AS ci, + info_type AS it2, + keyword AS k, + kind_type AS kt, + movie_info_idx AS mi_idx, + movie_keyword AS mk, + name AS n, + title AS t +WHERE cct1.kind = 'cast' + AND cct2.kind LIKE '%complete%' + AND chn.name IS NOT NULL + AND (chn.name LIKE '%man%' + OR chn.name LIKE '%Man%') + AND it2.info = 'rating' + AND k.keyword IN ('superhero', + 'marvel-comics', + 'based-on-comic', + 'tv-special', + 'fight', + 'violence', + 'magnet', + 'web', + 'claw', + 'laser') + AND kt.kind = 'movie' + AND t.production_year > 2000 + AND kt.id = t.kind_id + AND t.id = mk.movie_id + AND t.id = ci.movie_id + AND t.id = cc.movie_id + AND t.id = mi_idx.movie_id + AND mk.movie_id = ci.movie_id + AND mk.movie_id = cc.movie_id + AND mk.movie_id = mi_idx.movie_id + AND ci.movie_id = cc.movie_id + AND ci.movie_id = mi_idx.movie_id + AND cc.movie_id = mi_idx.movie_id + AND chn.id = ci.person_role_id + AND n.id = ci.person_id + AND k.id = mk.keyword_id + AND cct1.id = cc.subject_id + AND cct2.id = cc.status_id + AND it2.id = mi_idx.info_type_id; + +result sql_benchmarks/imdb/results/26c.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/27a.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/27a.benchmark new file mode 100644 index 0000000000000..ff0cfebf81050 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/27a.benchmark @@ -0,0 +1,68 @@ +name Q27a +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(cn.name) AS producing_company, + MIN(lt.link) AS link_type, + MIN(t.title) AS complete_western_sequel +FROM complete_cast AS cc, + comp_cast_type AS cct1, + comp_cast_type AS cct2, + company_name AS cn, + company_type AS ct, + keyword AS k, + link_type AS lt, + movie_companies AS mc, + movie_info AS mi, + movie_keyword AS mk, + movie_link AS ml, + title AS t +WHERE cct1.kind IN ('cast', + 'crew') + AND cct2.kind = 'complete' + AND cn.country_code !='[pl]' + AND (cn.name LIKE '%Film%' + OR cn.name LIKE '%Warner%') + AND ct.kind ='production companies' + AND k.keyword ='sequel' + AND lt.link LIKE '%follow%' + AND mc.note IS NULL + AND mi.info IN ('Sweden', + 'Germany', + 'Swedish', + 'German') + AND t.production_year BETWEEN 1950 AND 2000 + AND lt.id = ml.link_type_id + AND ml.movie_id = t.id + AND t.id = mk.movie_id + AND mk.keyword_id = k.id + AND t.id = mc.movie_id + AND mc.company_type_id = ct.id + AND mc.company_id = cn.id + AND mi.movie_id = t.id + AND t.id = cc.movie_id + AND cct1.id = cc.subject_id + AND cct2.id = cc.status_id + AND ml.movie_id = mk.movie_id + AND ml.movie_id = mc.movie_id + AND mk.movie_id = mc.movie_id + AND ml.movie_id = mi.movie_id + AND mk.movie_id = mi.movie_id + AND mc.movie_id = mi.movie_id + AND ml.movie_id = cc.movie_id + AND mk.movie_id = cc.movie_id + AND mc.movie_id = cc.movie_id + AND mi.movie_id = cc.movie_id; + +result sql_benchmarks/imdb/results/27a.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/27b.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/27b.benchmark new file mode 100644 index 0000000000000..bf0fa5b69ec52 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/27b.benchmark @@ -0,0 +1,68 @@ +name Q27b +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(cn.name) AS producing_company, + MIN(lt.link) AS link_type, + MIN(t.title) AS complete_western_sequel +FROM complete_cast AS cc, + comp_cast_type AS cct1, + comp_cast_type AS cct2, + company_name AS cn, + company_type AS ct, + keyword AS k, + link_type AS lt, + movie_companies AS mc, + movie_info AS mi, + movie_keyword AS mk, + movie_link AS ml, + title AS t +WHERE cct1.kind IN ('cast', + 'crew') + AND cct2.kind = 'complete' + AND cn.country_code !='[pl]' + AND (cn.name LIKE '%Film%' + OR cn.name LIKE '%Warner%') + AND ct.kind ='production companies' + AND k.keyword ='sequel' + AND lt.link LIKE '%follow%' + AND mc.note IS NULL + AND mi.info IN ('Sweden', + 'Germany', + 'Swedish', + 'German') + AND t.production_year = 1998 + AND lt.id = ml.link_type_id + AND ml.movie_id = t.id + AND t.id = mk.movie_id + AND mk.keyword_id = k.id + AND t.id = mc.movie_id + AND mc.company_type_id = ct.id + AND mc.company_id = cn.id + AND mi.movie_id = t.id + AND t.id = cc.movie_id + AND cct1.id = cc.subject_id + AND cct2.id = cc.status_id + AND ml.movie_id = mk.movie_id + AND ml.movie_id = mc.movie_id + AND mk.movie_id = mc.movie_id + AND ml.movie_id = mi.movie_id + AND mk.movie_id = mi.movie_id + AND mc.movie_id = mi.movie_id + AND ml.movie_id = cc.movie_id + AND mk.movie_id = cc.movie_id + AND mc.movie_id = cc.movie_id + AND mi.movie_id = cc.movie_id; + +result sql_benchmarks/imdb/results/27b.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/27c.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/27c.benchmark new file mode 100644 index 0000000000000..fd7444531277e --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/27c.benchmark @@ -0,0 +1,72 @@ +name Q27c +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(cn.name) AS producing_company, + MIN(lt.link) AS link_type, + MIN(t.title) AS complete_western_sequel +FROM complete_cast AS cc, + comp_cast_type AS cct1, + comp_cast_type AS cct2, + company_name AS cn, + company_type AS ct, + keyword AS k, + link_type AS lt, + movie_companies AS mc, + movie_info AS mi, + movie_keyword AS mk, + movie_link AS ml, + title AS t +WHERE cct1.kind = 'cast' + AND cct2.kind LIKE 'complete%' + AND cn.country_code !='[pl]' + AND (cn.name LIKE '%Film%' + OR cn.name LIKE '%Warner%') + AND ct.kind ='production companies' + AND k.keyword ='sequel' + AND lt.link LIKE '%follow%' + AND mc.note IS NULL + AND mi.info IN ('Sweden', + 'Norway', + 'Germany', + 'Denmark', + 'Swedish', + 'Denish', + 'Norwegian', + 'German', + 'English') + AND t.production_year BETWEEN 1950 AND 2010 + AND lt.id = ml.link_type_id + AND ml.movie_id = t.id + AND t.id = mk.movie_id + AND mk.keyword_id = k.id + AND t.id = mc.movie_id + AND mc.company_type_id = ct.id + AND mc.company_id = cn.id + AND mi.movie_id = t.id + AND t.id = cc.movie_id + AND cct1.id = cc.subject_id + AND cct2.id = cc.status_id + AND ml.movie_id = mk.movie_id + AND ml.movie_id = mc.movie_id + AND mk.movie_id = mc.movie_id + AND ml.movie_id = mi.movie_id + AND mk.movie_id = mi.movie_id + AND mc.movie_id = mi.movie_id + AND ml.movie_id = cc.movie_id + AND mk.movie_id = cc.movie_id + AND mc.movie_id = cc.movie_id + AND mi.movie_id = cc.movie_id; + +result sql_benchmarks/imdb/results/27c.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/28a.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/28a.benchmark new file mode 100644 index 0000000000000..1fd17967b12f4 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/28a.benchmark @@ -0,0 +1,82 @@ +name Q28a +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(cn.name) AS movie_company, + MIN(mi_idx.info) AS rating, + MIN(t.title) AS complete_euro_dark_movie +FROM complete_cast AS cc, + comp_cast_type AS cct1, + comp_cast_type AS cct2, + company_name AS cn, + company_type AS ct, + info_type AS it1, + info_type AS it2, + keyword AS k, + kind_type AS kt, + movie_companies AS mc, + movie_info AS mi, + movie_info_idx AS mi_idx, + movie_keyword AS mk, + title AS t +WHERE cct1.kind = 'crew' + AND cct2.kind != 'complete+verified' + AND cn.country_code != '[us]' + AND it1.info = 'countries' + AND it2.info = 'rating' + AND k.keyword IN ('murder', + 'murder-in-title', + 'blood', + 'violence') + AND kt.kind IN ('movie', + 'episode') + AND mc.note NOT LIKE '%(USA)%' + AND mc.note LIKE '%(200%)%' + AND mi.info IN ('Sweden', + 'Norway', + 'Germany', + 'Denmark', + 'Swedish', + 'Danish', + 'Norwegian', + 'German', + 'USA', + 'American') + AND mi_idx.info < '8.5' + AND t.production_year > 2000 + AND kt.id = t.kind_id + AND t.id = mi.movie_id + AND t.id = mk.movie_id + AND t.id = mi_idx.movie_id + AND t.id = mc.movie_id + AND t.id = cc.movie_id + AND mk.movie_id = mi.movie_id + AND mk.movie_id = mi_idx.movie_id + AND mk.movie_id = mc.movie_id + AND mk.movie_id = cc.movie_id + AND mi.movie_id = mi_idx.movie_id + AND mi.movie_id = mc.movie_id + AND mi.movie_id = cc.movie_id + AND mc.movie_id = mi_idx.movie_id + AND mc.movie_id = cc.movie_id + AND mi_idx.movie_id = cc.movie_id + AND k.id = mk.keyword_id + AND it1.id = mi.info_type_id + AND it2.id = mi_idx.info_type_id + AND ct.id = mc.company_type_id + AND cn.id = mc.company_id + AND cct1.id = cc.subject_id + AND cct2.id = cc.status_id; + +result sql_benchmarks/imdb/results/28a.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/28b.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/28b.benchmark new file mode 100644 index 0000000000000..0b68663f7fba6 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/28b.benchmark @@ -0,0 +1,76 @@ +name Q28b +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(cn.name) AS movie_company, + MIN(mi_idx.info) AS rating, + MIN(t.title) AS complete_euro_dark_movie +FROM complete_cast AS cc, + comp_cast_type AS cct1, + comp_cast_type AS cct2, + company_name AS cn, + company_type AS ct, + info_type AS it1, + info_type AS it2, + keyword AS k, + kind_type AS kt, + movie_companies AS mc, + movie_info AS mi, + movie_info_idx AS mi_idx, + movie_keyword AS mk, + title AS t +WHERE cct1.kind = 'crew' + AND cct2.kind != 'complete+verified' + AND cn.country_code != '[us]' + AND it1.info = 'countries' + AND it2.info = 'rating' + AND k.keyword IN ('murder', + 'murder-in-title', + 'blood', + 'violence') + AND kt.kind IN ('movie', + 'episode') + AND mc.note NOT LIKE '%(USA)%' + AND mc.note LIKE '%(200%)%' + AND mi.info IN ('Sweden', + 'Germany', + 'Swedish', + 'German') + AND mi_idx.info > '6.5' + AND t.production_year > 2005 + AND kt.id = t.kind_id + AND t.id = mi.movie_id + AND t.id = mk.movie_id + AND t.id = mi_idx.movie_id + AND t.id = mc.movie_id + AND t.id = cc.movie_id + AND mk.movie_id = mi.movie_id + AND mk.movie_id = mi_idx.movie_id + AND mk.movie_id = mc.movie_id + AND mk.movie_id = cc.movie_id + AND mi.movie_id = mi_idx.movie_id + AND mi.movie_id = mc.movie_id + AND mi.movie_id = cc.movie_id + AND mc.movie_id = mi_idx.movie_id + AND mc.movie_id = cc.movie_id + AND mi_idx.movie_id = cc.movie_id + AND k.id = mk.keyword_id + AND it1.id = mi.info_type_id + AND it2.id = mi_idx.info_type_id + AND ct.id = mc.company_type_id + AND cn.id = mc.company_id + AND cct1.id = cc.subject_id + AND cct2.id = cc.status_id; + +result sql_benchmarks/imdb/results/28b.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/28c.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/28c.benchmark new file mode 100644 index 0000000000000..b64d407a67d51 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/28c.benchmark @@ -0,0 +1,82 @@ +name Q28c +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(cn.name) AS movie_company, + MIN(mi_idx.info) AS rating, + MIN(t.title) AS complete_euro_dark_movie +FROM complete_cast AS cc, + comp_cast_type AS cct1, + comp_cast_type AS cct2, + company_name AS cn, + company_type AS ct, + info_type AS it1, + info_type AS it2, + keyword AS k, + kind_type AS kt, + movie_companies AS mc, + movie_info AS mi, + movie_info_idx AS mi_idx, + movie_keyword AS mk, + title AS t +WHERE cct1.kind = 'cast' + AND cct2.kind = 'complete' + AND cn.country_code != '[us]' + AND it1.info = 'countries' + AND it2.info = 'rating' + AND k.keyword IN ('murder', + 'murder-in-title', + 'blood', + 'violence') + AND kt.kind IN ('movie', + 'episode') + AND mc.note NOT LIKE '%(USA)%' + AND mc.note LIKE '%(200%)%' + AND mi.info IN ('Sweden', + 'Norway', + 'Germany', + 'Denmark', + 'Swedish', + 'Danish', + 'Norwegian', + 'German', + 'USA', + 'American') + AND mi_idx.info < '8.5' + AND t.production_year > 2005 + AND kt.id = t.kind_id + AND t.id = mi.movie_id + AND t.id = mk.movie_id + AND t.id = mi_idx.movie_id + AND t.id = mc.movie_id + AND t.id = cc.movie_id + AND mk.movie_id = mi.movie_id + AND mk.movie_id = mi_idx.movie_id + AND mk.movie_id = mc.movie_id + AND mk.movie_id = cc.movie_id + AND mi.movie_id = mi_idx.movie_id + AND mi.movie_id = mc.movie_id + AND mi.movie_id = cc.movie_id + AND mc.movie_id = mi_idx.movie_id + AND mc.movie_id = cc.movie_id + AND mi_idx.movie_id = cc.movie_id + AND k.id = mk.keyword_id + AND it1.id = mi.info_type_id + AND it2.id = mi_idx.info_type_id + AND ct.id = mc.company_type_id + AND cn.id = mc.company_id + AND cct1.id = cc.subject_id + AND cct2.id = cc.status_id; + +result sql_benchmarks/imdb/results/28c.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/29a.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/29a.benchmark new file mode 100644 index 0000000000000..40affdb3d557c --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/29a.benchmark @@ -0,0 +1,83 @@ +name Q29a +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(chn.name) AS voiced_char, + MIN(n.name) AS voicing_actress, + MIN(t.title) AS voiced_animation +FROM aka_name AS an, + complete_cast AS cc, + comp_cast_type AS cct1, + comp_cast_type AS cct2, + char_name AS chn, + cast_info AS ci, + company_name AS cn, + info_type AS it, + info_type AS it3, + keyword AS k, + movie_companies AS mc, + movie_info AS mi, + movie_keyword AS mk, + name AS n, + person_info AS pi, + role_type AS rt, + title AS t +WHERE cct1.kind ='cast' + AND cct2.kind ='complete+verified' + AND chn.name = 'Queen' + AND ci.note IN ('(voice)', + '(voice) (uncredited)', + '(voice: English version)') + AND cn.country_code ='[us]' + AND it.info = 'release dates' + AND it3.info = 'trivia' + AND k.keyword = 'computer-animation' + AND mi.info IS NOT NULL + AND (mi.info LIKE 'Japan:%200%' + OR mi.info LIKE 'USA:%200%') + AND n.gender ='f' + AND n.name LIKE '%An%' + AND rt.role ='actress' + AND t.title = 'Shrek 2' + AND t.production_year BETWEEN 2000 AND 2010 + AND t.id = mi.movie_id + AND t.id = mc.movie_id + AND t.id = ci.movie_id + AND t.id = mk.movie_id + AND t.id = cc.movie_id + AND mc.movie_id = ci.movie_id + AND mc.movie_id = mi.movie_id + AND mc.movie_id = mk.movie_id + AND mc.movie_id = cc.movie_id + AND mi.movie_id = ci.movie_id + AND mi.movie_id = mk.movie_id + AND mi.movie_id = cc.movie_id + AND ci.movie_id = mk.movie_id + AND ci.movie_id = cc.movie_id + AND mk.movie_id = cc.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 + AND n.id = pi.person_id + AND ci.person_id = pi.person_id + AND it3.id = pi.info_type_id + AND k.id = mk.keyword_id + AND cct1.id = cc.subject_id + AND cct2.id = cc.status_id; + +result sql_benchmarks/imdb/results/29a.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/29b.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/29b.benchmark new file mode 100644 index 0000000000000..9d43c7151071c --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/29b.benchmark @@ -0,0 +1,81 @@ +name Q29b +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(chn.name) AS voiced_char, + MIN(n.name) AS voicing_actress, + MIN(t.title) AS voiced_animation +FROM aka_name AS an, + complete_cast AS cc, + comp_cast_type AS cct1, + comp_cast_type AS cct2, + char_name AS chn, + cast_info AS ci, + company_name AS cn, + info_type AS it, + info_type AS it3, + keyword AS k, + movie_companies AS mc, + movie_info AS mi, + movie_keyword AS mk, + name AS n, + person_info AS pi, + role_type AS rt, + title AS t +WHERE cct1.kind ='cast' + AND cct2.kind ='complete+verified' + AND chn.name = 'Queen' + AND ci.note IN ('(voice)', + '(voice) (uncredited)', + '(voice: English version)') + AND cn.country_code ='[us]' + AND it.info = 'release dates' + AND it3.info = 'height' + AND k.keyword = 'computer-animation' + AND mi.info LIKE 'USA:%200%' + AND n.gender ='f' + AND n.name LIKE '%An%' + AND rt.role ='actress' + AND t.title = 'Shrek 2' + AND t.production_year BETWEEN 2000 AND 2005 + AND t.id = mi.movie_id + AND t.id = mc.movie_id + AND t.id = ci.movie_id + AND t.id = mk.movie_id + AND t.id = cc.movie_id + AND mc.movie_id = ci.movie_id + AND mc.movie_id = mi.movie_id + AND mc.movie_id = mk.movie_id + AND mc.movie_id = cc.movie_id + AND mi.movie_id = ci.movie_id + AND mi.movie_id = mk.movie_id + AND mi.movie_id = cc.movie_id + AND ci.movie_id = mk.movie_id + AND ci.movie_id = cc.movie_id + AND mk.movie_id = cc.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 + AND n.id = pi.person_id + AND ci.person_id = pi.person_id + AND it3.id = pi.info_type_id + AND k.id = mk.keyword_id + AND cct1.id = cc.subject_id + AND cct2.id = cc.status_id; + +result sql_benchmarks/imdb/results/29b.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/29c.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/29c.benchmark new file mode 100644 index 0000000000000..9d0cbdc14cc02 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/29c.benchmark @@ -0,0 +1,82 @@ +name Q29c +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(chn.name) AS voiced_char, + MIN(n.name) AS voicing_actress, + MIN(t.title) AS voiced_animation +FROM aka_name AS an, + complete_cast AS cc, + comp_cast_type AS cct1, + comp_cast_type AS cct2, + char_name AS chn, + cast_info AS ci, + company_name AS cn, + info_type AS it, + info_type AS it3, + keyword AS k, + movie_companies AS mc, + movie_info AS mi, + movie_keyword AS mk, + name AS n, + person_info AS pi, + role_type AS rt, + title AS t +WHERE cct1.kind ='cast' + AND cct2.kind ='complete+verified' + AND ci.note IN ('(voice)', + '(voice: Japanese version)', + '(voice) (uncredited)', + '(voice: English version)') + AND cn.country_code ='[us]' + AND it.info = 'release dates' + AND it3.info = 'trivia' + AND k.keyword = 'computer-animation' + AND mi.info IS NOT NULL + AND (mi.info LIKE 'Japan:%200%' + OR mi.info LIKE 'USA:%200%') + AND n.gender ='f' + AND n.name LIKE '%An%' + AND rt.role ='actress' + AND t.production_year BETWEEN 2000 AND 2010 + AND t.id = mi.movie_id + AND t.id = mc.movie_id + AND t.id = ci.movie_id + AND t.id = mk.movie_id + AND t.id = cc.movie_id + AND mc.movie_id = ci.movie_id + AND mc.movie_id = mi.movie_id + AND mc.movie_id = mk.movie_id + AND mc.movie_id = cc.movie_id + AND mi.movie_id = ci.movie_id + AND mi.movie_id = mk.movie_id + AND mi.movie_id = cc.movie_id + AND ci.movie_id = mk.movie_id + AND ci.movie_id = cc.movie_id + AND mk.movie_id = cc.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 + AND n.id = pi.person_id + AND ci.person_id = pi.person_id + AND it3.id = pi.info_type_id + AND k.id = mk.keyword_id + AND cct1.id = cc.subject_id + AND cct2.id = cc.status_id; + +result sql_benchmarks/imdb/results/29c.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/30a.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/30a.benchmark new file mode 100644 index 0000000000000..747c43e60ccdb --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/30a.benchmark @@ -0,0 +1,75 @@ +name Q30a +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(mi.info) AS movie_budget, + MIN(mi_idx.info) AS movie_votes, + MIN(n.name) AS writer, + MIN(t.title) AS complete_violent_movie +FROM complete_cast AS cc, + comp_cast_type AS cct1, + comp_cast_type AS cct2, + cast_info AS ci, + info_type AS it1, + info_type AS it2, + keyword AS k, + movie_info AS mi, + movie_info_idx AS mi_idx, + movie_keyword AS mk, + name AS n, + title AS t +WHERE cct1.kind IN ('cast', + 'crew') + AND cct2.kind ='complete+verified' + AND ci.note IN ('(writer)', + '(head writer)', + '(written by)', + '(story)', + '(story editor)') + AND it1.info = 'genres' + AND it2.info = 'votes' + AND k.keyword IN ('murder', + 'violence', + 'blood', + 'gore', + 'death', + 'female-nudity', + 'hospital') + AND mi.info IN ('Horror', + 'Thriller') + AND n.gender = 'm' + AND t.production_year > 2000 + AND t.id = mi.movie_id + AND t.id = mi_idx.movie_id + AND t.id = ci.movie_id + AND t.id = mk.movie_id + AND t.id = cc.movie_id + AND ci.movie_id = mi.movie_id + AND ci.movie_id = mi_idx.movie_id + AND ci.movie_id = mk.movie_id + AND ci.movie_id = cc.movie_id + AND mi.movie_id = mi_idx.movie_id + AND mi.movie_id = mk.movie_id + AND mi.movie_id = cc.movie_id + AND mi_idx.movie_id = mk.movie_id + AND mi_idx.movie_id = cc.movie_id + AND mk.movie_id = cc.movie_id + AND n.id = ci.person_id + AND it1.id = mi.info_type_id + AND it2.id = mi_idx.info_type_id + AND k.id = mk.keyword_id + AND cct1.id = cc.subject_id + AND cct2.id = cc.status_id; + +result sql_benchmarks/imdb/results/30a.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/30b.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/30b.benchmark new file mode 100644 index 0000000000000..6f29177a91e71 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/30b.benchmark @@ -0,0 +1,78 @@ +name Q30b +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(mi.info) AS movie_budget, + MIN(mi_idx.info) AS movie_votes, + MIN(n.name) AS writer, + MIN(t.title) AS complete_gore_movie +FROM complete_cast AS cc, + comp_cast_type AS cct1, + comp_cast_type AS cct2, + cast_info AS ci, + info_type AS it1, + info_type AS it2, + keyword AS k, + movie_info AS mi, + movie_info_idx AS mi_idx, + movie_keyword AS mk, + name AS n, + title AS t +WHERE cct1.kind IN ('cast', + 'crew') + AND cct2.kind ='complete+verified' + AND ci.note IN ('(writer)', + '(head writer)', + '(written by)', + '(story)', + '(story editor)') + AND it1.info = 'genres' + AND it2.info = 'votes' + AND k.keyword IN ('murder', + 'violence', + 'blood', + 'gore', + 'death', + 'female-nudity', + 'hospital') + AND mi.info IN ('Horror', + 'Thriller') + AND n.gender = 'm' + AND t.production_year > 2000 + AND (t.title LIKE '%Freddy%' + OR t.title LIKE '%Jason%' + OR t.title LIKE 'Saw%') + AND t.id = mi.movie_id + AND t.id = mi_idx.movie_id + AND t.id = ci.movie_id + AND t.id = mk.movie_id + AND t.id = cc.movie_id + AND ci.movie_id = mi.movie_id + AND ci.movie_id = mi_idx.movie_id + AND ci.movie_id = mk.movie_id + AND ci.movie_id = cc.movie_id + AND mi.movie_id = mi_idx.movie_id + AND mi.movie_id = mk.movie_id + AND mi.movie_id = cc.movie_id + AND mi_idx.movie_id = mk.movie_id + AND mi_idx.movie_id = cc.movie_id + AND mk.movie_id = cc.movie_id + AND n.id = ci.person_id + AND it1.id = mi.info_type_id + AND it2.id = mi_idx.info_type_id + AND k.id = mk.keyword_id + AND cct1.id = cc.subject_id + AND cct2.id = cc.status_id; + +result sql_benchmarks/imdb/results/30b.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/30c.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/30c.benchmark new file mode 100644 index 0000000000000..78cbbdf2f4543 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/30c.benchmark @@ -0,0 +1,77 @@ +name Q30c +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(mi.info) AS movie_budget, + MIN(mi_idx.info) AS movie_votes, + MIN(n.name) AS writer, + MIN(t.title) AS complete_violent_movie +FROM complete_cast AS cc, + comp_cast_type AS cct1, + comp_cast_type AS cct2, + cast_info AS ci, + info_type AS it1, + info_type AS it2, + keyword AS k, + movie_info AS mi, + movie_info_idx AS mi_idx, + movie_keyword AS mk, + name AS n, + title AS t +WHERE cct1.kind = 'cast' + AND cct2.kind ='complete+verified' + AND ci.note IN ('(writer)', + '(head writer)', + '(written by)', + '(story)', + '(story editor)') + AND it1.info = 'genres' + AND it2.info = 'votes' + AND k.keyword IN ('murder', + 'violence', + 'blood', + 'gore', + 'death', + 'female-nudity', + 'hospital') + AND mi.info IN ('Horror', + 'Action', + 'Sci-Fi', + 'Thriller', + 'Crime', + 'War') + AND n.gender = 'm' + AND t.id = mi.movie_id + AND t.id = mi_idx.movie_id + AND t.id = ci.movie_id + AND t.id = mk.movie_id + AND t.id = cc.movie_id + AND ci.movie_id = mi.movie_id + AND ci.movie_id = mi_idx.movie_id + AND ci.movie_id = mk.movie_id + AND ci.movie_id = cc.movie_id + AND mi.movie_id = mi_idx.movie_id + AND mi.movie_id = mk.movie_id + AND mi.movie_id = cc.movie_id + AND mi_idx.movie_id = mk.movie_id + AND mi_idx.movie_id = cc.movie_id + AND mk.movie_id = cc.movie_id + AND n.id = ci.person_id + AND it1.id = mi.info_type_id + AND it2.id = mi_idx.info_type_id + AND k.id = mk.keyword_id + AND cct1.id = cc.subject_id + AND cct2.id = cc.status_id; + +result sql_benchmarks/imdb/results/30c.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/31a.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/31a.benchmark new file mode 100644 index 0000000000000..8f3b5a1567da6 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/31a.benchmark @@ -0,0 +1,70 @@ +name Q31a +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(mi.info) AS movie_budget, + MIN(mi_idx.info) AS movie_votes, + MIN(n.name) AS writer, + MIN(t.title) AS violent_liongate_movie +FROM cast_info AS ci, + company_name AS cn, + info_type AS it1, + info_type AS it2, + keyword AS k, + movie_companies AS mc, + movie_info AS mi, + movie_info_idx AS mi_idx, + movie_keyword AS mk, + name AS n, + title AS t +WHERE ci.note IN ('(writer)', + '(head writer)', + '(written by)', + '(story)', + '(story editor)') + AND cn.name LIKE 'Lionsgate%' + AND it1.info = 'genres' + AND it2.info = 'votes' + AND k.keyword IN ('murder', + 'violence', + 'blood', + 'gore', + 'death', + 'female-nudity', + 'hospital') + AND mi.info IN ('Horror', + 'Thriller') + AND n.gender = 'm' + AND t.id = mi.movie_id + AND t.id = mi_idx.movie_id + AND t.id = ci.movie_id + AND t.id = mk.movie_id + AND t.id = mc.movie_id + AND ci.movie_id = mi.movie_id + AND ci.movie_id = mi_idx.movie_id + AND ci.movie_id = mk.movie_id + AND ci.movie_id = mc.movie_id + AND mi.movie_id = mi_idx.movie_id + AND mi.movie_id = mk.movie_id + AND mi.movie_id = mc.movie_id + AND mi_idx.movie_id = mk.movie_id + AND mi_idx.movie_id = mc.movie_id + AND mk.movie_id = mc.movie_id + AND n.id = ci.person_id + AND it1.id = mi.info_type_id + AND it2.id = mi_idx.info_type_id + AND k.id = mk.keyword_id + AND cn.id = mc.company_id; + +result sql_benchmarks/imdb/results/31a.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/31b.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/31b.benchmark new file mode 100644 index 0000000000000..7395f37089c14 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/31b.benchmark @@ -0,0 +1,75 @@ +name Q31b +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(mi.info) AS movie_budget, + MIN(mi_idx.info) AS movie_votes, + MIN(n.name) AS writer, + MIN(t.title) AS violent_liongate_movie +FROM cast_info AS ci, + company_name AS cn, + info_type AS it1, + info_type AS it2, + keyword AS k, + movie_companies AS mc, + movie_info AS mi, + movie_info_idx AS mi_idx, + movie_keyword AS mk, + name AS n, + title AS t +WHERE ci.note IN ('(writer)', + '(head writer)', + '(written by)', + '(story)', + '(story editor)') + AND cn.name LIKE 'Lionsgate%' + AND it1.info = 'genres' + AND it2.info = 'votes' + AND k.keyword IN ('murder', + 'violence', + 'blood', + 'gore', + 'death', + 'female-nudity', + 'hospital') + AND mc.note LIKE '%(Blu-ray)%' + AND mi.info IN ('Horror', + 'Thriller') + AND n.gender = 'm' + AND t.production_year > 2000 + AND (t.title LIKE '%Freddy%' + OR t.title LIKE '%Jason%' + OR t.title LIKE 'Saw%') + AND t.id = mi.movie_id + AND t.id = mi_idx.movie_id + AND t.id = ci.movie_id + AND t.id = mk.movie_id + AND t.id = mc.movie_id + AND ci.movie_id = mi.movie_id + AND ci.movie_id = mi_idx.movie_id + AND ci.movie_id = mk.movie_id + AND ci.movie_id = mc.movie_id + AND mi.movie_id = mi_idx.movie_id + AND mi.movie_id = mk.movie_id + AND mi.movie_id = mc.movie_id + AND mi_idx.movie_id = mk.movie_id + AND mi_idx.movie_id = mc.movie_id + AND mk.movie_id = mc.movie_id + AND n.id = ci.person_id + AND it1.id = mi.info_type_id + AND it2.id = mi_idx.info_type_id + AND k.id = mk.keyword_id + AND cn.id = mc.company_id; + +result sql_benchmarks/imdb/results/31b.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/31c.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/31c.benchmark new file mode 100644 index 0000000000000..ca1efcf21385d --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/31c.benchmark @@ -0,0 +1,73 @@ +name Q31c +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(mi.info) AS movie_budget, + MIN(mi_idx.info) AS movie_votes, + MIN(n.name) AS writer, + MIN(t.title) AS violent_liongate_movie +FROM cast_info AS ci, + company_name AS cn, + info_type AS it1, + info_type AS it2, + keyword AS k, + movie_companies AS mc, + movie_info AS mi, + movie_info_idx AS mi_idx, + movie_keyword AS mk, + name AS n, + title AS t +WHERE ci.note IN ('(writer)', + '(head writer)', + '(written by)', + '(story)', + '(story editor)') + AND cn.name LIKE 'Lionsgate%' + AND it1.info = 'genres' + AND it2.info = 'votes' + AND k.keyword IN ('murder', + 'violence', + 'blood', + 'gore', + 'death', + 'female-nudity', + 'hospital') + AND mi.info IN ('Horror', + 'Action', + 'Sci-Fi', + 'Thriller', + 'Crime', + 'War') + AND t.id = mi.movie_id + AND t.id = mi_idx.movie_id + AND t.id = ci.movie_id + AND t.id = mk.movie_id + AND t.id = mc.movie_id + AND ci.movie_id = mi.movie_id + AND ci.movie_id = mi_idx.movie_id + AND ci.movie_id = mk.movie_id + AND ci.movie_id = mc.movie_id + AND mi.movie_id = mi_idx.movie_id + AND mi.movie_id = mk.movie_id + AND mi.movie_id = mc.movie_id + AND mi_idx.movie_id = mk.movie_id + AND mi_idx.movie_id = mc.movie_id + AND mk.movie_id = mc.movie_id + AND n.id = ci.person_id + AND it1.id = mi.info_type_id + AND it2.id = mi_idx.info_type_id + AND k.id = mk.keyword_id + AND cn.id = mc.company_id; + +result sql_benchmarks/imdb/results/31c.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/32a.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/32a.benchmark new file mode 100644 index 0000000000000..54380bc0c2852 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/32a.benchmark @@ -0,0 +1,33 @@ +name Q32a +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(lt.link) AS link_type, + MIN(t1.title) AS first_movie, + MIN(t2.title) AS second_movie +FROM keyword AS k, + link_type AS lt, + movie_keyword AS mk, + movie_link AS ml, + title AS t1, + title AS t2 +WHERE k.keyword ='10,000-mile-club' + AND mk.keyword_id = k.id + AND t1.id = mk.movie_id + AND ml.movie_id = t1.id + AND ml.linked_movie_id = t2.id + AND lt.id = ml.link_type_id + AND mk.movie_id = t1.id; + +result sql_benchmarks/imdb/results/32a.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/32b.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/32b.benchmark new file mode 100644 index 0000000000000..7f6582efd272a --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/32b.benchmark @@ -0,0 +1,33 @@ +name Q32b +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +SELECT MIN(lt.link) AS link_type, + MIN(t1.title) AS first_movie, + MIN(t2.title) AS second_movie +FROM keyword AS k, + link_type AS lt, + movie_keyword AS mk, + movie_link AS ml, + title AS t1, + title AS t2 +WHERE k.keyword ='character-name-in-title' + AND mk.keyword_id = k.id + AND t1.id = mk.movie_id + AND ml.movie_id = t1.id + AND ml.linked_movie_id = t2.id + AND lt.id = ml.link_type_id + AND mk.movie_id = t1.id; + +result sql_benchmarks/imdb/results/32b.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/33a.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/33a.benchmark new file mode 100644 index 0000000000000..f62e614f899b1 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/33a.benchmark @@ -0,0 +1,66 @@ +name Q33a +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +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 = '[us]' + AND it1.info = 'rating' + AND it2.info = 'rating' + AND kt1.kind IN ('tv series') + AND kt2.kind IN ('tv series') + AND lt.link IN ('sequel', + 'follows', + 'followed by') + AND mi_idx2.info < '3.0' + AND t2.production_year BETWEEN 2005 AND 2008 + 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; + +result sql_benchmarks/imdb/results/33a.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/33b.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/33b.benchmark new file mode 100644 index 0000000000000..01f21763de5c1 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/33b.benchmark @@ -0,0 +1,64 @@ +name Q33b +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +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; + +result sql_benchmarks/imdb/results/33b.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/benchmarks/33c.benchmark b/benchmarks/sql_benchmarks/imdb/benchmarks/33c.benchmark new file mode 100644 index 0000000000000..a0b7abed6cdbc --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/benchmarks/33c.benchmark @@ -0,0 +1,68 @@ +name Q33c +group imdb + +echo Loading imdb tables + +load sql_benchmarks/imdb/init/load_${IMDB_FILE_TYPE:-parquet}.sql + +assert I +SELECT COUNT(*) > 0 from title; +---- +true + +run +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 != '[us]' + AND it1.info = 'rating' + AND it2.info = 'rating' + AND kt1.kind IN ('tv series', + 'episode') + AND kt2.kind IN ('tv series', + 'episode') + AND lt.link IN ('sequel', + 'follows', + 'followed by') + AND mi_idx2.info < '3.5' + AND t2.production_year BETWEEN 2000 AND 2010 + 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; + +result sql_benchmarks/imdb/results/33c.csv + +cleanup sql_benchmarks/imdb/init/cleanup.sql \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/init/cleanup.sql b/benchmarks/sql_benchmarks/imdb/init/cleanup.sql new file mode 100644 index 0000000000000..f64c3a47d3a14 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/init/cleanup.sql @@ -0,0 +1,41 @@ +DROP TABLE aka_name; + +DROP TABLE aka_title; + +DROP TABLE cast_info; + +DROP TABLE char_name; + +DROP TABLE comp_cast_type; + +DROP TABLE company_name; + +DROP TABLE company_type; + +DROP TABLE complete_cast; + +DROP TABLE info_type; + +DROP TABLE keyword; + +DROP TABLE kind_type; + +DROP TABLE link_type; + +DROP TABLE movie_companies; + +DROP TABLE movie_info; + +DROP TABLE movie_info_idx; + +DROP TABLE movie_keyword; + +DROP TABLE movie_link; + +DROP TABLE name; + +DROP TABLE person_info; + +DROP TABLE role_type; + +DROP TABLE title; \ No newline at end of file diff --git a/benchmarks/sql_benchmarks/imdb/init/load_csv.sql b/benchmarks/sql_benchmarks/imdb/init/load_csv.sql new file mode 100644 index 0000000000000..4a1dfbfbdbb47 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/init/load_csv.sql @@ -0,0 +1,170 @@ +CREATE EXTERNAL TABLE aka_name ( + id integer unsigned NOT NULL, + person_id integer NOT NULL, + name varchar(218) NOT NULL, + imdb_index varchar(12), + name_pcode_cf varchar(5), + name_pcode_nf varchar(5), + surname_pcode varchar(5), + md5sum varchar(32) +) STORED AS CSV LOCATION 'data/imdb/aka_name.csv' OPTIONS ('has_header' 'false', 'format.delimiter' ',', 'format.escape' '\'); + +CREATE EXTERNAL TABLE aka_title ( + id integer unsigned NOT NULL, + movie_id integer NOT NULL, + title varchar(553) NOT NULL, + imdb_index varchar(12), + kind_id integer NOT NULL, + production_year integer, + phonetic_code varchar(5), + episode_of_id integer, + season_nr integer, + episode_nr integer, + note varchar(72), + md5sum varchar(32) +) STORED AS CSV LOCATION 'data/imdb/aka_title.csv' OPTIONS ('has_header' 'false', 'format.delimiter' ',', 'format.escape' '\'); + +CREATE EXTERNAL TABLE cast_info ( + id integer unsigned NOT NULL, + person_id integer NOT NULL, + movie_id integer NOT NULL, + person_role_id integer, + note varchar(992), + nr_order integer, + role_id integer NOT NULL +) STORED AS CSV LOCATION 'data/imdb/cast_info.csv' OPTIONS ('has_header' 'false', 'format.delimiter' ',', 'format.escape' '\'); + +CREATE EXTERNAL TABLE char_name ( + id integer unsigned NOT NULL, + name varchar(478) NOT NULL, + imdb_index varchar(12), + imdb_id integer, + name_pcode_nf varchar(5), + surname_pcode varchar(5), + md5sum varchar(32) +) STORED AS CSV LOCATION 'data/imdb/char_name.csv' OPTIONS ('has_header' 'false', 'format.delimiter' ',', 'format.escape' '\'); + +CREATE EXTERNAL TABLE comp_cast_type ( + id integer unsigned NOT NULL, + kind varchar(32) NOT NULL +) STORED AS CSV LOCATION 'data/imdb/comp_cast_type.csv' OPTIONS ('has_header' 'false', 'format.delimiter' ',', 'format.escape' '\'); + +CREATE EXTERNAL TABLE company_name ( + id integer unsigned NOT NULL, + name varchar(200) NOT NULL, + country_code varchar(255), + imdb_id integer, + name_pcode_nf varchar(5), + name_pcode_sf varchar(5), + md5sum varchar(32) +) STORED AS CSV LOCATION 'data/imdb/company_name.csv' OPTIONS ('has_header' 'false', 'format.delimiter' ',', 'format.escape' '\'); + +CREATE EXTERNAL TABLE company_type ( + id integer unsigned NOT NULL, + kind varchar(32) NOT NULL +) STORED AS CSV LOCATION 'data/imdb/company_type.csv' OPTIONS ('has_header' 'false', 'format.delimiter' ',', 'format.escape' '\'); + +CREATE EXTERNAL TABLE complete_cast ( + id integer unsigned NOT NULL, + movie_id integer, + subject_id integer NOT NULL, + status_id integer NOT NULL +) STORED AS CSV LOCATION 'data/imdb/complete_cast.csv' OPTIONS ('has_header' 'false', 'format.delimiter' ',', 'format.escape' '\'); + +CREATE EXTERNAL TABLE info_type ( + id integer unsigned NOT NULL, + info varchar(32) NOT NULL +) STORED AS CSV LOCATION 'data/imdb/info_type.csv' OPTIONS ('has_header' 'false', 'format.delimiter' ',', 'format.escape' '\'); + +CREATE EXTERNAL TABLE keyword ( + id integer unsigned NOT NULL, + keyword varchar(74) NOT NULL, + phonetic_code varchar(5) +) STORED AS CSV LOCATION 'data/imdb/keyword.csv' OPTIONS ('has_header' 'false', 'format.delimiter' ',', 'format.escape' '\'); + +CREATE EXTERNAL TABLE kind_type ( + id integer unsigned NOT NULL, + kind varchar(15) NOT NULL +) STORED AS CSV LOCATION 'data/imdb/kind_type.csv' OPTIONS ('has_header' 'false', 'format.delimiter' ',', 'format.escape' '\'); + +CREATE EXTERNAL TABLE link_type ( + id integer unsigned NOT NULL, + link varchar(32) NOT NULL +) STORED AS CSV LOCATION 'data/imdb/link_type.csv' OPTIONS ('has_header' 'false', 'format.delimiter' ',', 'format.escape' '\'); + +CREATE EXTERNAL TABLE movie_companies ( + id integer unsigned NOT NULL, + movie_id integer NOT NULL, + company_id integer NOT NULL, + company_type_id integer NOT NULL, + note varchar(208) +) STORED AS CSV LOCATION 'data/imdb/movie_companies.csv' OPTIONS ('has_header' 'false', 'format.delimiter' ',', 'format.escape' '\'); + +CREATE EXTERNAL TABLE movie_info ( + id integer unsigned NOT NULL, + movie_id integer NOT NULL, + info_type_id integer NOT NULL, + info varchar(8000) NOT NULL, + note varchar(387) +) STORED AS CSV LOCATION 'data/imdb/movie_info.csv' OPTIONS ('has_header' 'false', 'format.delimiter' ',', 'format.escape' '\'); + +CREATE EXTERNAL TABLE movie_info_idx ( + id integer unsigned NOT NULL, + movie_id integer NOT NULL, + info_type_id integer NOT NULL, + info varchar(10) NOT NULL, + note varchar(1) +) STORED AS CSV LOCATION 'data/imdb/movie_info_idx.csv' OPTIONS ('has_header' 'false', 'format.delimiter' ',', 'format.escape' '\'); + +CREATE EXTERNAL TABLE movie_keyword ( + id integer unsigned NOT NULL, + movie_id integer NOT NULL, + keyword_id integer NOT NULL +) STORED AS CSV LOCATION 'data/imdb/movie_keyword.csv' OPTIONS ('has_header' 'false', 'format.delimiter' ',', 'format.escape' '\'); + +CREATE EXTERNAL TABLE movie_link ( + id integer unsigned NOT NULL, + movie_id integer NOT NULL, + linked_movie_id integer NOT NULL, + link_type_id integer NOT NULL +) STORED AS CSV LOCATION 'data/imdb/movie_link.csv' OPTIONS ('has_header' 'false', 'format.delimiter' ',', 'format.escape' '\'); + +CREATE EXTERNAL TABLE name ( + id integer unsigned NOT NULL, + name varchar(106) NOT NULL, + imdb_index varchar(12), + imdb_id integer, + gender varchar(1), + name_pcode_cf varchar(5), + name_pcode_nf varchar(5), + surname_pcode varchar(5), + md5sum varchar(32) +) STORED AS CSV LOCATION 'data/imdb/name.csv' OPTIONS ('has_header' 'false', 'format.delimiter' ',', 'format.escape' '\'); + +CREATE EXTERNAL TABLE person_info ( + id integer unsigned NOT NULL, + person_id integer NOT NULL, + info_type_id integer NOT NULL, + info text NOT NULL, + note varchar(430) +) STORED AS CSV LOCATION 'data/imdb/person_info.csv' OPTIONS ('has_header' 'false', 'format.delimiter' ',', 'format.escape' '\'); + +CREATE EXTERNAL TABLE role_type ( + id integer unsigned NOT NULL, + role varchar(32) NOT NULL +) STORED AS CSV LOCATION 'data/imdb/role_type.csv' OPTIONS ('has_header' 'false', 'format.delimiter' ',', 'format.escape' '\'); + +CREATE EXTERNAL TABLE title ( + id integer unsigned NOT NULL, + title varchar(334) NOT NULL, + imdb_index varchar(12), + kind_id integer NOT NULL, + production_year integer, + imdb_id integer, + phonetic_code varchar(5), + episode_of_id integer, + season_nr integer, + episode_nr integer, + series_years varchar(49), + md5sum varchar(32) +) STORED AS CSV LOCATION 'data/imdb/title.csv' OPTIONS ('has_header' 'false', 'format.delimiter' ',', 'format.escape' '\'); diff --git a/benchmarks/sql_benchmarks/imdb/init/load_parquet.sql b/benchmarks/sql_benchmarks/imdb/init/load_parquet.sql new file mode 100644 index 0000000000000..fe92d773d1ea3 --- /dev/null +++ b/benchmarks/sql_benchmarks/imdb/init/load_parquet.sql @@ -0,0 +1,170 @@ +CREATE EXTERNAL TABLE aka_name ( + id integer unsigned NOT NULL, + person_id integer NOT NULL, + name varchar(218) NOT NULL, + imdb_index varchar(12), + name_pcode_cf varchar(5), + name_pcode_nf varchar(5), + surname_pcode varchar(5), + md5sum varchar(32) +) STORED AS PARQUET LOCATION 'data/imdb/aka_name.parquet'; + +CREATE EXTERNAL TABLE aka_title ( + id integer unsigned NOT NULL, + movie_id integer NOT NULL, + title varchar(553) NOT NULL, + imdb_index varchar(12), + kind_id integer NOT NULL, + production_year integer, + phonetic_code varchar(5), + episode_of_id integer, + season_nr integer, + episode_nr integer, + note varchar(72), + md5sum varchar(32) +) STORED AS PARQUET LOCATION 'data/imdb/aka_title.parquet'; + +CREATE EXTERNAL TABLE cast_info ( + id integer unsigned NOT NULL, + person_id integer NOT NULL, + movie_id integer NOT NULL, + person_role_id integer, + note varchar(992), + nr_order integer, + role_id integer NOT NULL +) STORED AS PARQUET LOCATION 'data/imdb/cast_info.parquet'; + +CREATE EXTERNAL TABLE char_name ( + id integer unsigned NOT NULL, + name varchar(478) NOT NULL, + imdb_index varchar(12), + imdb_id integer, + name_pcode_nf varchar(5), + surname_pcode varchar(5), + md5sum varchar(32) +) STORED AS PARQUET LOCATION 'data/imdb/char_name.parquet'; + +CREATE EXTERNAL TABLE comp_cast_type ( + id integer unsigned NOT NULL, + kind varchar(32) NOT NULL +) STORED AS PARQUET LOCATION 'data/imdb/comp_cast_type.parquet'; + +CREATE EXTERNAL TABLE company_name ( + id integer unsigned NOT NULL, + name varchar(200) NOT NULL, + country_code varchar(255), + imdb_id integer, + name_pcode_nf varchar(5), + name_pcode_sf varchar(5), + md5sum varchar(32) +) STORED AS PARQUET LOCATION 'data/imdb/company_name.parquet'; + +CREATE EXTERNAL TABLE company_type ( + id integer unsigned NOT NULL, + kind varchar(32) NOT NULL +) STORED AS PARQUET LOCATION 'data/imdb/company_type.parquet'; + +CREATE EXTERNAL TABLE complete_cast ( + id integer unsigned NOT NULL, + movie_id integer, + subject_id integer NOT NULL, + status_id integer NOT NULL +) STORED AS PARQUET LOCATION 'data/imdb/complete_cast.parquet'; + +CREATE EXTERNAL TABLE info_type ( + id integer unsigned NOT NULL, + info varchar(32) NOT NULL +) STORED AS PARQUET LOCATION 'data/imdb/info_type.parquet'; + +CREATE EXTERNAL TABLE keyword ( + id integer unsigned NOT NULL, + keyword varchar(74) NOT NULL, + phonetic_code varchar(5) +) STORED AS PARQUET LOCATION 'data/imdb/keyword.parquet'; + +CREATE EXTERNAL TABLE kind_type ( + id integer unsigned NOT NULL, + kind varchar(15) NOT NULL +) STORED AS PARQUET LOCATION 'data/imdb/kind_type.parquet'; + +CREATE EXTERNAL TABLE link_type ( + id integer unsigned NOT NULL, + link varchar(32) NOT NULL +) STORED AS PARQUET LOCATION 'data/imdb/link_type.parquet'; + +CREATE EXTERNAL TABLE movie_companies ( + id integer unsigned NOT NULL, + movie_id integer NOT NULL, + company_id integer NOT NULL, + company_type_id integer NOT NULL, + note varchar(208) +) STORED AS PARQUET LOCATION 'data/imdb/movie_companies.parquet'; + +CREATE EXTERNAL TABLE movie_info ( + id integer unsigned NOT NULL, + movie_id integer NOT NULL, + info_type_id integer NOT NULL, + info varchar(8000) NOT NULL, + note varchar(387) +) STORED AS PARQUET LOCATION 'data/imdb/movie_info.parquet'; + +CREATE EXTERNAL TABLE movie_info_idx ( + id integer unsigned NOT NULL, + movie_id integer NOT NULL, + info_type_id integer NOT NULL, + info varchar(10) NOT NULL, + note varchar(1) +) STORED AS PARQUET LOCATION 'data/imdb/movie_info_idx.parquet'; + +CREATE EXTERNAL TABLE movie_keyword ( + id integer unsigned NOT NULL, + movie_id integer NOT NULL, + keyword_id integer NOT NULL +) STORED AS PARQUET LOCATION 'data/imdb/movie_keyword.parquet'; + +CREATE EXTERNAL TABLE movie_link ( + id integer unsigned NOT NULL, + movie_id integer NOT NULL, + linked_movie_id integer NOT NULL, + link_type_id integer NOT NULL +) STORED AS PARQUET LOCATION 'data/imdb/movie_link.parquet'; + +CREATE EXTERNAL TABLE name ( + id integer unsigned NOT NULL, + name varchar(106) NOT NULL, + imdb_index varchar(12), + imdb_id integer, + gender varchar(1), + name_pcode_cf varchar(5), + name_pcode_nf varchar(5), + surname_pcode varchar(5), + md5sum varchar(32) +) STORED AS PARQUET LOCATION 'data/imdb/name.parquet'; + +CREATE EXTERNAL TABLE person_info ( + id integer unsigned NOT NULL, + person_id integer NOT NULL, + info_type_id integer NOT NULL, + info text NOT NULL, + note varchar(430) +) STORED AS PARQUET LOCATION 'data/imdb/person_info.parquet'; + +CREATE EXTERNAL TABLE role_type ( + id integer unsigned NOT NULL, + role varchar(32) NOT NULL +) STORED AS PARQUET LOCATION 'data/imdb/role_type.parquet'; + +CREATE EXTERNAL TABLE title ( + id integer unsigned NOT NULL, + title varchar(334) NOT NULL, + imdb_index varchar(12), + kind_id integer NOT NULL, + production_year integer, + imdb_id integer, + phonetic_code varchar(5), + episode_of_id integer, + season_nr integer, + episode_nr integer, + series_years varchar(49), + md5sum varchar(32) +) STORED AS PARQUET LOCATION 'data/imdb/title.parquet';