This PR adds the backend HashJoinOperator support for hash semi/anti joins. Also updates ExecutionGenerator to convert semi/anti join physical plans into the corresponding relational operators.
TODOs:
(1) Currently we have ExecutionGeneratorTest's which verifies the overall functionality. Later will add unit tests for HashSemiJoinWorkOrder and HashAntiJoinWorkOrder.
(2) Currently JoinHashTable always allows duplicate keys. This is not optimal for semi/anti joins. A separate PR will enhance this by adding SemiJoinHashTable.
This PR adds the backend
HashJoinOperator
support for hash semi/anti joins. Also updatesExecutionGenerator
to convert semi/anti join physical plans into the corresponding relational operators.TODOs: (1) Currently we have
ExecutionGeneratorTest
's which verifies the overall functionality. Later will add unit tests forHashSemiJoinWorkOrder
andHashAntiJoinWorkOrder
. (2) CurrentlyJoinHashTable
always allows duplicate keys. This is not optimal for semi/anti joins. A separate PR will enhance this by addingSemiJoinHashTable
.