Open
Description
i.e. right here:
Line 37 in 860bd6a
I'm 99% sure that adding allow_rename = FALSE
is correct, as we also do it in tidyr's data frame method.
I think it would have caught some weirdness like this:
library(dbplyr)
library(tidyr) # dev tidyr with PR #1572
df <- data.frame(x = c(1, 2), y = c(2, 2), z = c(1, NA))
df_sqlite <- tbl_lazy(df, con = simulate_sqlite())
df_sqlite |>
window_order(x) |>
fill(.by = y)
#> <SQL>
#> SELECT `x`, `y`, `z`
#> FROM (
#> SELECT
#> `df`.*,
#> SUM(CASE WHEN ((`.by` IS NULL)) THEN 0 ELSE 1 END) OVER (ORDER BY `x` ROWS UNBOUNDED PRECEDING) AS `..dbplyr_partition_1`
#> FROM `df`
#> ) AS `q01`
This is a very specific case where in tidyverse/tidyr#1572 we are adding a new .by
argument to the generic of fill()
that dbplyr doesn't know about yet.
- In the method,
.by = y
comes through the...
offill.tbl_lazy()
and should get immediately caught byeval_select(allow_rename = FALSE)
, but isn't - In the generic,
.by = y
comes through the.by =
argument in thefill()
generic, so it happens to not triggercheck_dots_unnamed()
in the generic
Metadata
Metadata
Assignees
Labels
No labels