Uh oh!
There was an error while loading. Please reload this page.
MINOR: [R] Work around test failure in tidyquery revdep - #43498
Conversation
Uh oh!
There was an error while loading. Please reload this page.
| } | ||
| # Else, warn, collect(), and run in regular dplyr | ||
| call <- get("call", envir = env) |
There was a problem hiding this comment.
I'm a little surprised by this deletion, was this essentially overwritting what was in call when it ran? Or something else?
There was a problem hiding this comment.
I just moved it up to L227
There was a problem hiding this comment.
AAAAAH I totally missed that. Thanks
### Rationale for this change See #43317 (comment). `tidyquery` is assembling queries in some way such that when `summarize.arrow_dplyr_query()` is called, the calling environment isn't a call, so `match.call()` fails. ### What changes are included in this PR? This PR wraps the `match.call()` call in a `try()`. The call is only used to do `abandon_ship()` on in-memory data anyway. So if the call is not available, it treats it like you're making a query on a Dataset and it tells you to `collect()` yourself. ### Are these changes tested? I couldn't figure out how to reproduce what was going on inside `tidyquery` to write a reproducer, and I don't think this is worth adding `tidyquery` to Suggests for. I confirmed locally that `tidyquery` tests pass with this change, so our revdeps should be clear. ### Are there any user-facing changes? 🙅 Authored-by: Neal Richardson <neal.p.richardson@gmail.com> Signed-off-by: Jonathan Keane <jkeane@gmail.com>
After merging your PR, Conbench analyzed the 4 benchmarking runs that have been run so far on merge-commit 0dec116. There were 3 benchmark results indicating a performance regression:
The full Conbench report has more details. It also includes information about 6 possible false positives for unstable benchmarks that are known to sometimes produce them. |
Rationale for this change
See #43317 (comment).
tidyqueryis assembling queries in some way such that whensummarize.arrow_dplyr_query()is called, the calling environment isn't a call, somatch.call()fails.What changes are included in this PR?
This PR wraps the
match.call()call in atry(). The call is only used to doabandon_ship()on in-memory data anyway. So if the call is not available, it treats it like you're making a query on a Dataset and it tells you tocollect()yourself.Are these changes tested?
I couldn't figure out how to reproduce what was going on inside
tidyqueryto write a reproducer, and I don't think this is worth addingtidyqueryto Suggests for. I confirmed locally thattidyquerytests pass with this change, so our revdeps should be clear.Are there any user-facing changes?
🙅