Jonathan Keane created ARROW-16172:
--------------------------------------
Summary: [C++] cast when reasonable for join keys
Key: ARROW-16172
URL: https://issues.apache.org/jira/browse/ARROW-16172
Project: Apache Arrow
Issue Type: Improvement
Components: C++
Reporter: Jonathan Keane
Joining an integer column with a float column that happens to have whole
numbers errors. For kernels, we would autocast in this circumstance, so it's a
surprising UX that this doesn't work + I need to type coerce on my own for this.
{code}
library(arrow, warn.conflicts = FALSE)
#> See arrow_info() for available features
library(dplyr, warn.conflicts = FALSE)
tab_int <- arrow_table(data.frame(let = letters, num = 1L:26L))
tab_float <- arrow_table(data.frame(let = letters, num = as.double(1:26)))
left_join(tab_int, tab_float) %>% collect()
#> Error in `handle_csv_read_error()`:
#> ! Invalid: Incompatible data types for corresponding join field keys:
FieldRef.Name(num) of type int32 and FieldRef.Name(num) of type double
{code}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)