Files
secondo/Tools/Generators/TPC-H/queries/tpc_join_adaptive

60 lines
2.5 KiB
Plaintext
Raw Normal View History

2026-01-23 17:03:45 +08:00
# adaptive joins
#overhead loopswitch
query LINEITEM_25
loopswitch[
f1: . feed LINEITEM2 feed {x} hashjoin[L_PARTKEY, L_PARTKEY_x, 997] count,
f2: . feed LINEITEM2 feed {x} hashjoin[L_PARTKEY, L_PARTKEY_x, 997] count,
f3: . feed LINEITEM2 feed {x} hashjoin[L_PARTKEY, L_PARTKEY_x, 997] count,
f4: . feed LINEITEM2 feed {x} hashjoin[L_PARTKEY, L_PARTKEY_x, 997] count,
f5: . feed LINEITEM2 feed {x} hashjoin[L_PARTKEY, L_PARTKEY_x, 997] count
]
tie[. + ..];
query LINEITEM_25
loopswitch[
f0: . feed LINEITEM2 feed {x} hashjoin[L_PARTKEY, L_PARTKEY_x, 997] count,
f1: . feed LINEITEM2 feed {x} product filter[.L_PARTKEY = .L_PARTKEY_x] count,
f2: . feed LINEITEM2 feed {x} symmproduct[.L_PARTKEY = ..L_PARTKEY_x] count,
f3: . feed LINEITEM2 feed {x} sortmergejoin[L_PARTKEY, L_PARTKEY_x] count,
f4: . feed {x} loopjoin[fun(t1: TUPLE) LINEITEM2 feed filter[.L_PARTKEY = attr(t1, L_PARTKEY_x)]] count,
f5: . feed {x} loopjoin[fun(t2: TUPLE) LINEITEM_L_PARTKEY LINEITEM exactmatch[attr(t2, L_PARTKEY_x)]] count
]
tie[. + ..];
query LINEITEM_25
loopswitch[
f0: . feed LINEITEM2 feed {x} hashjoin[L_PARTKEY, L_PARTKEY_x, 997] count,
f5: . feed {x} loopjoin[fun(t2: TUPLE) LINEITEM_L_PARTKEY LINEITEM exactmatch[attr(t2, L_PARTKEY_x)]] count
]
tie[. + ..];
#non equi join
query LINEITEM_25
loopswitch[
f6: . feed LINEITEM2 feed {x} symmproduct[.L_PARTKEY >= ..L_PARTKEY_x] count,
f7: . feed {x} loopjoin[fun(t2: TUPLE) LINEITEM_L_PARTKEY LINEITEM rightrange[attr(t2, L_PARTKEY_x)]] count
]
tie[. + ..];
query LINEITEM_J1_A
loopswitch[
f0: . feed LINEITEM_J1 feed {x} hashjoin[L_JoinKey, L_JoinKey_x, 997] count,
f1: . feed LINEITEM_J1 feed {x} product filter[.L_JoinKey = .L_JoinKey_x] count,
f2: . feed LINEITEM_J1 feed {x} symmproduct[.L_JoinKey = ..L_JoinKey_x] count,
f3: . feed LINEITEM_J1 feed {x} sortmergejoin[L_JoinKey, L_JoinKey_x] count,
f4: . feed {x} loopjoin[fun(t1: TUPLE) LINEITEM_J1 feed filter[.L_JoinKey = attr(t1, L_JoinKey_x)]] count,
f5: . feed {x} loopjoin[fun(t2: TUPLE) LINEITEM_J1_L_JoinKey LINEITEM_J1 exactmatch[attr(t2, L_JoinKey_x)]] count
]
tie[. + ..];
query LINEITEM_J1_A
loop[ . feed LINEITEM_J1 feed {x} hashjoin[L_JoinKey, L_JoinKey_x, 997] count ]
tie[. + ..];