-
Notifications
You must be signed in to change notification settings - Fork 42
Open
Labels
bugan unexpected problem or unintended behavioran unexpected problem or unintended behaviorduckplyr 🗜️Support for the duckplyr R packageSupport for the duckplyr R package
Description
It's more idiomatic to map to logical.
duckdb <- asNamespace("duckdb")
drv <- duckdb::duckdb()
con <- DBI::dbConnect(drv)
experimental <- FALSE
df1 <- tibble::tibble(a = 1)
rel1 <- duckdb$rel_from_df(con, df1, experimental = experimental)
rel2 <- duckdb$rel_project(
rel1,
list(
{
tmp_expr <- duckdb$expr_reference("a")
duckdb$expr_set_alias(tmp_expr, "a")
tmp_expr
},
{
tmp_expr <- if ("experimental" %in% names(formals(duckdb$expr_constant))) {
duckdb$expr_constant(NA, experimental = experimental)
} else {
duckdb$expr_constant(NA)
}
duckdb$expr_set_alias(tmp_expr, "b")
tmp_expr
}
)
)
rel2
#> DuckDB Relation:
#> ---------------------
#> --- Relation Tree ---
#> ---------------------
#> Projection [a as a, NULL as b]
#> r_dataframe_scan(0x11e727dd0)
#>
#> ---------------------
#> -- Result Columns --
#> ---------------------
#> - a (DOUBLE)
#> - b (INTEGER)
dput(duckdb$rel_to_altrep(rel2))
#> structure(list(a = 1, b = NA_integer_), row.names = c(NA, -1L
#> ), class = "data.frame")
DBI::dbDisconnect(con)
Created on 2024-05-04 with reprex v2.1.0
Metadata
Metadata
Assignees
Labels
bugan unexpected problem or unintended behavioran unexpected problem or unintended behaviorduckplyr 🗜️Support for the duckplyr R packageSupport for the duckplyr R package