Skip to content

Commit e394d80

Browse files
committed
chore: Sync
1 parent c9e8abe commit e394d80

File tree

3 files changed

+39
-48
lines changed

3 files changed

+39
-48
lines changed

patch/compute.patch

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,37 @@
11
diff --git b/R/compute.R a/R/compute.R
22
--- b/R/compute.R
33
+++ a/R/compute.R
4-
@@ -1,10 +1,45 @@
4+
@@ -1,10 +1,44 @@
55
# Generated by 02-duckplyr_df-methods.R
66
+#' @rdname compute.duckplyr_df
77
#' @export
88
-compute.duckplyr_df <- function(x, ...) {
99
+compute.duckplyr_df <- function(
1010
+ x,
1111
+ ...,
12-
+ lazy = NULL,
12+
+ funnel = NULL,
1313
+ name = NULL,
1414
+ schema_name = NULL,
1515
+ temporary = TRUE
1616
+) {
17+
+ if (is.null(funnel)) {
18+
+ funnel <- get_funnel_duckplyr_df(x)
19+
+ }
20+
+ if (is.null(schema_name)) {
21+
+ schema_name <- ""
22+
+ }
23+
+ if (is.null(name)) {
24+
+ if (isTRUE(temporary)) {
25+
+ name <- unique_table_name()
26+
+ } else {
27+
+ cli::cli_abort("{.arg name} must be provided if {.arg temporary} is {.value FALSE}")
28+
+ }
29+
+ }
30+
+
1731
# Our implementation
1832
duckplyr_error <- rel_try(NULL,
1933
- "No relational implementation for {.code compute()}" = TRUE,
20-
+ "Needs duckdb >= 1.1.3.9029" = !is_installed("duckdb", version = "1.1.3.9029"),
2134
{
22-
+ if (is.null(lazy)) {
23-
+ lazy <- is_lazy_duckplyr_df(x)
24-
+ }
25-
+ if (is.null(schema_name)) {
26-
+ schema_name <- ""
27-
+ }
28-
+ if (is.null(name)) {
29-
+ if (isTRUE(temporary)) {
30-
+ name <- unique_table_name()
31-
+ } else {
32-
+ cli::cli_abort("{.arg name} must be provided if {.arg temporary} is {.value FALSE}")
33-
+ }
34-
+ }
35-
+
3635
+ rel <- duckdb_rel_from_df(x)
3736
+
3837
+ duckdb$rel_to_table(rel, schema_name, name, temporary)
@@ -42,8 +41,8 @@ diff --git b/R/compute.R a/R/compute.R
4241
+
4342
+ out <- duckplyr_reconstruct(out_rel, x)
4443
+
45-
+ if (is_lazy_duckplyr_df(out) != lazy) {
46-
+ out <- as_duckdb_tibble(out, .lazy = lazy)
44+
+ if (get_funnel_duckplyr_df(out) != funnel) {
45+
+ out <- as_duckdb_tibble(out, funnel = funnel)
4746
+ }
4847
+
4948
return(out)

tests/testthat/test-as_duckplyr_df.R

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -247,8 +247,6 @@ test_that("as_duckplyr_df_impl() and compute()", {
247247

248248

249249
test_that("as_duckplyr_df_impl() and compute()", {
250-
withr::local_envvar(DUCKPLYR_FORCE = TRUE)
251-
252250
# Data
253251
test_df <- data.frame(a = 1:6 + 0, b = 2, g = rep(1:3, 1:3))
254252

@@ -681,8 +679,6 @@ test_that("as_duckplyr_df_impl() and full_join(join_by(a))", {
681679
})
682680

683681
test_that("as_duckplyr_df_impl() and group_by()", {
684-
withr::local_envvar(DUCKPLYR_FORCE = "FALSE")
685-
686682
skip("Grouped")
687683

688684
# Data

tests/testthat/test-rel_api.R

Lines changed: 21 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -16849,17 +16849,13 @@ test_that("relational symdiff() order-preserving", {
1684916849
}
1685016850
)
1685116851
)
16852-
df3 <- data.frame(a = 1L, b = 2)
16852+
df3 <- data.frame(a = 5L, b = 2)
1685316853

1685416854
"union_all"
1685516855
rel9 <- duckdb$rel_from_df(con, df3, experimental = experimental)
16856-
df4 <- data.frame(a = 5L, b = 2)
16857-
16858-
"union_all"
16859-
rel10 <- duckdb$rel_from_df(con, df4, experimental = experimental)
1686016856
"union_all"
16861-
rel11 <- duckdb$rel_project(
16862-
rel9,
16857+
rel10 <- duckdb$rel_project(
16858+
rel8,
1686316859
list(
1686416860
{
1686516861
tmp_expr <- duckdb$expr_reference("a")
@@ -16888,8 +16884,8 @@ test_that("relational symdiff() order-preserving", {
1688816884
)
1688916885
)
1689016886
"union_all"
16891-
rel12 <- duckdb$rel_project(
16892-
rel10,
16887+
rel11 <- duckdb$rel_project(
16888+
rel9,
1689316889
list(
1689416890
{
1689516891
tmp_expr <- duckdb$expr_reference("a")
@@ -16918,15 +16914,15 @@ test_that("relational symdiff() order-preserving", {
1691816914
)
1691916915
)
1692016916
"union_all"
16921-
rel13 <- duckdb$rel_union_all(rel11, rel12)
16917+
rel12 <- duckdb$rel_union_all(rel10, rel11)
1692216918
"union_all"
16923-
rel14 <- duckdb$rel_order(
16924-
rel13,
16919+
rel13 <- duckdb$rel_order(
16920+
rel12,
1692516921
list(duckdb$expr_reference("___row_number_x"), duckdb$expr_reference("___row_number_y"))
1692616922
)
1692716923
"union_all"
16928-
rel15 <- duckdb$rel_project(
16929-
rel14,
16924+
rel14 <- duckdb$rel_project(
16925+
rel13,
1693016926
list(
1693116927
{
1693216928
tmp_expr <- duckdb$expr_reference("a")
@@ -16941,8 +16937,8 @@ test_that("relational symdiff() order-preserving", {
1694116937
)
1694216938
)
1694316939
"distinct"
16944-
rel16 <- duckdb$rel_project(
16945-
rel15,
16940+
rel15 <- duckdb$rel_project(
16941+
rel14,
1694616942
list(
1694716943
{
1694816944
tmp_expr <- duckdb$expr_reference("a")
@@ -16962,8 +16958,8 @@ test_that("relational symdiff() order-preserving", {
1696216958
)
1696316959
)
1696416960
"distinct"
16965-
rel17 <- duckdb$rel_project(
16966-
rel16,
16961+
rel16 <- duckdb$rel_project(
16962+
rel15,
1696716963
list(
1696816964
{
1696916965
tmp_expr <- duckdb$expr_reference("a")
@@ -17001,8 +16997,8 @@ test_that("relational symdiff() order-preserving", {
1700116997
)
1700216998
)
1700316999
"distinct"
17004-
rel18 <- duckdb$rel_filter(
17005-
rel17,
17000+
rel17 <- duckdb$rel_filter(
17001+
rel16,
1700617002
list(
1700717003
duckdb$expr_comparison(
1700817004
"==",
@@ -17018,10 +17014,10 @@ test_that("relational symdiff() order-preserving", {
1701817014
)
1701917015
)
1702017016
"distinct"
17021-
rel19 <- duckdb$rel_order(rel18, list(duckdb$expr_reference("___row_number")))
17017+
rel18 <- duckdb$rel_order(rel17, list(duckdb$expr_reference("___row_number")))
1702217018
"distinct"
17023-
rel20 <- duckdb$rel_project(
17024-
rel19,
17019+
rel19 <- duckdb$rel_project(
17020+
rel18,
1702517021
list(
1702617022
{
1702717023
tmp_expr <- duckdb$expr_reference("a")
@@ -17035,8 +17031,8 @@ test_that("relational symdiff() order-preserving", {
1703517031
}
1703617032
)
1703717033
)
17038-
rel20
17039-
out <- duckdb$rel_to_altrep(rel20)
17034+
rel19
17035+
out <- duckdb$rel_to_altrep(rel19)
1704017036
expect_identical(
1704117037
out,
1704217038
data.frame(a = c(1L, 5L), b = 2)

0 commit comments

Comments
 (0)