More and more features, it's really not only about checks anymore. So maybe the default check should be changed to be same as dplyr behavior in case of conflict ? This means .x and .y suffixes. They're not pretty but now with fuzzy joins in any case with columns named the same on both sides users are expected to deal with the conflict explicitly.
desire to keep eat and safe_* functions separate is showing friction. Maybe they should just have the same features and the only difference is the convenient ... in eat ? The main obstacle is that safe* functions use suffix for conflicts, to be consistent with most R joining functions, while eat uses .prefix on ALL new columns, which helps to avoid conflicts but is not restricted to them. It is named .prefix as when fed a string the string is used as a prefix, but can be any complex renaming functions. But because of this choice, having both suffix and prefix arguments in the same function would be very confusing...
Note that thanks to the ..., .prefix can be renamed without breaking much, we can need a better name.
Another thing... still doubting on dotted arguments, it's still confusing that args are not named the same for safe_* and eat, and if a new feature of safe_* uses dots we might be annoyed... that's a big change though...
Is safejoin even the right term as we will :
do checks
handle conflicts (incl conflict joins)
aggregate the rhs by by variables on the spot
join recursively
fuzzy join
generalize exact join
support vars in by arguments
offer the shortcut eat
safejoin is a cool name though but it wouldn't absurd to do all other non breaking changes first, then rename to something else, deprecate and put new in CRAN
2 things are happening :
.x
and.y
suffixes. They're not pretty but now with fuzzy joins in any case with columns named the same on both sides users are expected to deal with the conflict explicitly.eat
andsafe_*
functions separate is showing friction. Maybe they should just have the same features and the only difference is the convenient...
ineat
? The main obstacle is thatsafe*
functions usesuffix
for conflicts, to be consistent with most R joining functions, while eat uses.prefix
on ALL new columns, which helps to avoid conflicts but is not restricted to them. It is named.prefix
as when fed a string the string is used as a prefix, but can be any complex renaming functions. But because of this choice, having bothsuffix
andprefix
arguments in the same function would be very confusing... Note that thanks to the...
,.prefix
can be renamed without breaking much, we can need a better name.Another thing... still doubting on dotted arguments, it's still confusing that args are not named the same for
safe_*
andeat
, and if a new feature ofsafe_*
uses dots we might be annoyed... that's a big change though...Is
safejoin
even the right term as we will :by
variables on the spoteat
safejoin is a cool name though but it wouldn't absurd to do all other non breaking changes first, then rename to something else, deprecate and put new in CRAN