-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bmerge errors on integer64 to double join #4167
Comments
cards=data.table(id=bit64::as.integer64(1419644220828))
cards[id == 1419644220828]
# Error in bmerge(i, x, leftcols, rightcols, roll, rollends, nomatch, mult, :
# Incompatible join types: x.id is type integer64 but i.id is type double and contains fractions should we automatically coerce RHS? otherwise error seems fine, isn't it? |
Forgot to add
is not right |
I think there is no reliable way to check if a double is an "integer" or not. So I think it's best in this line to just convert to integer64 and rely on bit64 to actually do the check. Or at least add an option to disable the check. Or maybe just add a warning instead of an error. |
I think we should promote integer64 to double type instead. We could check for numeric to be whole numbers, we have fast routine for that, but that will introduce inconsistencies in behavior that depends on the data, so I would not go that way. But we use |
Just found this bug again after I filed the duplicate #6625.
I'm not sure I follow. I think the approach taken in #6626 is OK. Fundamentally, there is no hierarchical ordering of For example, |
Trying to write out a bit more carefully why I think the approach taken in #6626 is good.
|
Just came across this... haven't had time to minimize the example but here goes:
The text was updated successfully, but these errors were encountered: