Commits


michalursa authored and Neal Richardson committed 230afef57f0
ARROW-14181: [C++][Compute] Support for dictionaries in hash join Supporting dictionary arrays and dictionary scalars as inputs to hash join on both its sides, in key columns and non-key columns. A key column from probe side of the join can be matched against a key column from build side of the join, as long as the underlying value types are equal, that means that: - dictionary column (on either side) can be matched against non-dictionary column (on the other side) if underlying value types are equal - dictionary column can be matched against dictionary column with a different index type, and potentially using a different dictionary, as long as the underlying value types are equal We keep the same limitation that is present in hash group by with respect to dictionaries, that is the same dictionary must be used for a given column in all input exec batches. The values in the dictionary do not have to be unique - it can contain duplicate entries and/or null entries. Closes #11446 from michalursa/ARROW-14181-hash-join-dict Lead-authored-by: michalursa <michal@ursacomputing.com> Co-authored-by: Neal Richardson <neal.p.richardson@gmail.com> Signed-off-by: Neal Richardson <neal.p.richardson@gmail.com>