Conversation
Codecov Report
@@ Coverage Diff @@
## master #3571 +/- ##
==========================================
+ Coverage 97.58% 97.58% +<.01%
==========================================
Files 66 66
Lines 12682 12695 +13
==========================================
+ Hits 12376 12389 +13
Misses 306 306
Continue to review full report at Codecov.
|
Codecov Report
@@ Coverage Diff @@
## master #3571 +/- ##
==========================================
+ Coverage 97.55% 97.55% +<.01%
==========================================
Files 66 66
Lines 12672 12675 +3
==========================================
+ Hits 12362 12365 +3
Misses 310 310
Continue to review full report at Codecov.
|
|
are we dropping the |
|
Using |
|
Great idea to get this one done. |
Exactly what I had in mind. The API here is good, I had |
|
@mattdowle is correct about ambiguity... in isolation, I'm not sure about making it required, but allowing |
|
@jangorecki my comments added. Standard internal approach for if the verbose message might get huge -- truncate at 10 elements. In this case, I added a third approach, on the mental model that there are essentially three cases and ordered by usage frequency: (1) join on one/two/three columns >> (2) join on all columns, e.g. self-join >>>>> (3) join on many but not all columns |
Yes, there could be user bugs, but old code will behave consistently, because we optionally replace an error, so bugs will only manifest in newly written code (due to user's mistake obviously). Which is safe. Issue which this PR is addressing was asking precisely for this kind of feature #629, and having in mind that data.table aims for concise syntax I believe |
Old code could now start to return results, whereas it would error (correctly) before if x didn't have a key. Code and data can change over time and it's feasible that a key gets dropped incorrectly. When a key gets incorrectly dropped, my guess is that users would expect that x[y] (an op that has always relied on x having a key) should still fail rather than start to join on common names. In other words, isn't the error something that's relied on in production? |
|
OK, changes amended. Natural join requires now |
closes #629