Copy records in executeCollect to avoid issues with mutable rows.
Split out generic logic for hash joins and create two concrete physical operators: BroadcastHashJoin and ShuffledHashJoin.
A simple strategy that broadcasts tables only when they are found in a configuration hint.
Formatting.
Merge branch 'broadcastHashJoin' into tpcds