Files
secondo/Tools/Generators/TPC-H/queries/tpc_join_static
2026-01-23 17:03:45 +08:00

30 lines
1.5 KiB
Plaintext

# static joins
# 1. hashjoin
query LINEITEM feed LINEITEM2 feed {x} hashjoin[L_PARTKEY, L_PARTKEY_x, 997] count;
query plz feed plz feed {x1} hashjoin[PLZ, PLZ_x1, 997] count;
query plz feed plz feed {x1} hashjoin[Ort, Ort_x1, 997] count;
query million feed thousand feed {x1} hashjoin[nr, nr_x1, 997] count;
# 2. product filter
query LINEITEM feed LINEITEM2 feed {x} product filter[.L_PARTKEY = .L_PARTKEY_x] count;
query LINEITEM feed LINEITEM2 feed {x} symmproduct[.L_PARTKEY = ..L_PARTKEY_x] count
# 2a. Non Equi Join
query LINEITEM feed LINEITEM2 feed {x} product filter[.L_PARTKEY >= .L_PARTKEY_x] count;
query LINEITEM feed LINEITEM2 feed {x} symmproduct[.L_PARTKEY >= ..L_PARTKEY_x] count
# 3. sortmergejoin
query LINEITEM feed LINEITEM2 feed {x} sortmergejoin[L_PARTKEY, L_PARTKEY_x] count;
# 4. loopjoin
query LINEITEM feed {x} loopjoin[fun(t1: TUPLE) LINEITEM2 feed filter[.L_PARTKEY = attr(t1, L_PARTKEY_x)]] count;
# 5. index loop join
query LINEITEM feed {x} loopjoin[fun(t1: TUPLE) LINEITEM_L_PARTKEY LINEITEM exactmatch[attr(t1, L_PARTKEY_x)]] count;
query LINEITEM feed {x} loopjoin[fun(t1: TUPLE) LINEITEM_L_PARTKEY LINEITEM rightrange[attr(t1, L_PARTKEY_x)]] count;
query plz feed {x1} loopjoin[fun(t1: TUPLE) plz_PLZ plz exactmatch[attr(t1, PLZ_x1)]] count;
query thousand feed {x1} loopjoin[fun(t1: TUPLE) million_nr million exactmatch[attr(t1, no_x1)]] count;
query plz_PLZ plz within2[ fun(c1: ANY, c2: ANY) plz feed {x1} loopjoin[fun(t1: TUPLE) c1 c2 exactmatch[attr(t1, PLZ_x1)]] count ];