Hash binary values
Which issue does this PR close?
Closes #3050
Rationale for this change
Currently we can not group by binary values
What changes are included in this PR?
Implementing hashing for binary values. Also some first casting support (but depends on https://github.com/apache/arrow-rs/issues/2402 to be impemented).
Are there any user-facing changes?
Codecov Report
Merging #3098 (c563559) into master (9956f80) will decrease coverage by
0.02%. The diff coverage is32.00%.
@@ Coverage Diff @@
## master #3098 +/- ##
==========================================
- Coverage 85.95% 85.92% -0.03%
==========================================
Files 290 290
Lines 52260 52285 +25
==========================================
+ Hits 44919 44928 +9
- Misses 7341 7357 +16
| Impacted Files | Coverage Δ | |
|---|---|---|
| datafusion/sql/src/planner.rs | 81.94% <0.00%> (-0.08%) |
:arrow_down: |
| datafusion/core/src/physical_plan/hash_utils.rs | 40.05% <34.78%> (-0.38%) |
:arrow_down: |
| datafusion/expr/src/logical_plan/plan.rs | 77.43% <0.00%> (ø) |
|
| datafusion/core/src/physical_plan/metrics/value.rs | 87.43% <0.00%> (+0.50%) |
:arrow_up: |
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more
FYI @waitingkuo
Benchmark runs are scheduled for baseline = b80c85359bdfc6d483cb2f222a988a9125ed8670 and contender = b6832d50fd0bcd3dd428a6ba0da90ff3e58f85ed. b6832d50fd0bcd3dd428a6ba0da90ff3e58f85ed is a master commit associated with this PR. Results will be available as each benchmark for each run completes. Conbench compare runs links: [Skipped :warning: Benchmarking of arrow-datafusion-commits is not supported on ec2-t3-xlarge-us-east-2] ec2-t3-xlarge-us-east-2 [Skipped :warning: Benchmarking of arrow-datafusion-commits is not supported on test-mac-arm] test-mac-arm [Skipped :warning: Benchmarking of arrow-datafusion-commits is not supported on ursa-i9-9960x] ursa-i9-9960x [Skipped :warning: Benchmarking of arrow-datafusion-commits is not supported on ursa-thinkcentre-m75q] ursa-thinkcentre-m75q Buildkite builds: Supported benchmarks: ec2-t3-xlarge-us-east-2: Supported benchmark langs: Python, R. Runs only benchmarks with cloud = True test-mac-arm: Supported benchmark langs: C++, Python, R ursa-i9-9960x: Supported benchmark langs: Python, R, JavaScript ursa-thinkcentre-m75q: Supported benchmark langs: C++, Java