From 222a0cf4b445036f09a89acab3850abbf32abcf1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kirill=20M=C3=BCller?= Date: Sun, 5 May 2024 17:55:56 +0200 Subject: [PATCH 1/2] `%in%` uses `r_base::==` --- R/relational.R | 19 +++++++++++++++---- tests/testthat/test-as_duckplyr_df.R | 2 ++ tools/00-funs.R | 3 ++- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/R/relational.R b/R/relational.R index 8174e880b..1778328ec 100644 --- a/R/relational.R +++ b/R/relational.R @@ -192,12 +192,23 @@ rel_translate <- function( if (length(values) == 0) { return(relexpr_constant(FALSE)) } - consts <- map(values, do_translate, in_window = in_window) - ops <- map(consts, list, do_translate(expr[[2]])) - cmp <- map(ops, relexpr_function, name = "___eq_na_matches_na") - alt <- reduce(cmp, function(.x, .y) { + + lhs <- do_translate(expr[[2]]) + + if (anyNA(values)) { + cmp_base <- list(relexpr_function("is.na", list(lhs))) + values <- values[!is.na(values)] + } else { + cmp_base <- NULL + } + + consts <- map(values, do_translate) + ops <- map(consts, ~ list(lhs, .x)) + cmp <- map(ops, relexpr_function, name = "r_base::==") + alt <- reduce(c(cmp_base, cmp), function(.x, .y) { relexpr_function("|", list(.x, .y)) }) + meta_ext_register() return(alt) }, error = identity diff --git a/tests/testthat/test-as_duckplyr_df.R b/tests/testthat/test-as_duckplyr_df.R index 415d72ba6..676cd33c8 100644 --- a/tests/testthat/test-as_duckplyr_df.R +++ b/tests/testthat/test-as_duckplyr_df.R @@ -1549,6 +1549,8 @@ test_that("as_duckplyr_df() and mutate(d = a %in% NA_real_)", { test_that("as_duckplyr_df() and mutate(c = NA_character_, d = c %in% NA_character_)", { + skip("Needs rfuns fix") + # Data test_df <- data.frame(a = 1:6 + 0, b = 2, g = rep(1:3, 1:3)) diff --git a/tools/00-funs.R b/tools/00-funs.R index dd35a9c47..993a1652c 100644 --- a/tools/00-funs.R +++ b/tools/00-funs.R @@ -644,7 +644,8 @@ test_extra_arg_map <- list( # %in% with NA "d = a %in% NA_real_", - "c = NA_character_, d = c %in% NA_character_", + # https://github.com/hannes/duckdb-rfuns/issues/89 + # "c = NA_character_, d = c %in% NA_character_", # %in% and empty "d = a %in% NULL", From 5c90da9aea218122fbd2df1aa1b65f965b892c34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kirill=20M=C3=BCller?= Date: Sun, 5 May 2024 18:33:54 +0200 Subject: [PATCH 2/2] Tests --- R/tpch_raw_12.R | 12 +- R/tpch_raw_16.R | 48 ++--- R/tpch_raw_19.R | 108 +++++----- R/tpch_raw_22.R | 140 ++++++------- R/tpch_raw_oo_12.R | 12 +- R/tpch_raw_oo_16.R | 48 ++--- R/tpch_raw_oo_19.R | 108 +++++----- R/tpch_raw_oo_22.R | 140 ++++++------- tests/testthat/test-as_duckplyr_df.R | 15 -- tests/testthat/test-rel_api.R | 298 +++------------------------ tools/tpch-raw-oo/12.R | 17 +- tools/tpch-raw-oo/16.R | 51 +++-- tools/tpch-raw-oo/19.R | 111 +++++----- tools/tpch-raw-oo/22.R | 145 +++++++------ tools/tpch-raw/12.R | 17 +- tools/tpch-raw/16.R | 51 +++-- tools/tpch-raw/19.R | 111 +++++----- tools/tpch-raw/22.R | 145 +++++++------ 18 files changed, 654 insertions(+), 923 deletions(-) diff --git a/R/tpch_raw_12.R b/R/tpch_raw_12.R index d7dec9fd7..010800a45 100644 --- a/R/tpch_raw_12.R +++ b/R/tpch_raw_12.R @@ -9,25 +9,25 @@ tpch_raw_12 <- function(con, experimental) { "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("l_shipmode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("MAIL", experimental = experimental) } else { duckdb$expr_constant("MAIL") - }, - duckdb$expr_reference("l_shipmode") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("l_shipmode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("SHIP", experimental = experimental) } else { duckdb$expr_constant("SHIP") - }, - duckdb$expr_reference("l_shipmode") + } ) ) ) diff --git a/R/tpch_raw_16.R b/R/tpch_raw_16.R index 00cffdc00..27103b99f 100644 --- a/R/tpch_raw_16.R +++ b/R/tpch_raw_16.R @@ -54,103 +54,103 @@ tpch_raw_16 <- function(con, experimental) { "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_size"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(49, experimental = experimental) } else { duckdb$expr_constant(49) - }, - duckdb$expr_reference("p_size") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_size"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(14, experimental = experimental) } else { duckdb$expr_constant(14) - }, - duckdb$expr_reference("p_size") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_size"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(23, experimental = experimental) } else { duckdb$expr_constant(23) - }, - duckdb$expr_reference("p_size") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_size"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(45, experimental = experimental) } else { duckdb$expr_constant(45) - }, - duckdb$expr_reference("p_size") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_size"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(19, experimental = experimental) } else { duckdb$expr_constant(19) - }, - duckdb$expr_reference("p_size") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_size"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(3, experimental = experimental) } else { duckdb$expr_constant(3) - }, - duckdb$expr_reference("p_size") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_size"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(36, experimental = experimental) } else { duckdb$expr_constant(36) - }, - duckdb$expr_reference("p_size") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_size"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(9, experimental = experimental) } else { duckdb$expr_constant(9) - }, - duckdb$expr_reference("p_size") + } ) ) ) diff --git a/R/tpch_raw_19.R b/R/tpch_raw_19.R index b95f16fdb..64d1ee107 100644 --- a/R/tpch_raw_19.R +++ b/R/tpch_raw_19.R @@ -196,51 +196,51 @@ tpch_raw_19 <- function(con, experimental) { "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("SM CASE", experimental = experimental) } else { duckdb$expr_constant("SM CASE") - }, - duckdb$expr_reference("p_container") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("SM BOX", experimental = experimental) } else { duckdb$expr_constant("SM BOX") - }, - duckdb$expr_reference("p_container") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("SM PACK", experimental = experimental) } else { duckdb$expr_constant("SM PACK") - }, - duckdb$expr_reference("p_container") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("SM PKG", experimental = experimental) } else { duckdb$expr_constant("SM PKG") - }, - duckdb$expr_reference("p_container") + } ) ) ) @@ -313,25 +313,25 @@ tpch_raw_19 <- function(con, experimental) { "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("l_shipmode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("AIR", experimental = experimental) } else { duckdb$expr_constant("AIR") - }, - duckdb$expr_reference("l_shipmode") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("l_shipmode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("AIR REG", experimental = experimental) } else { duckdb$expr_constant("AIR REG") - }, - duckdb$expr_reference("l_shipmode") + } ) ) ) @@ -393,51 +393,51 @@ tpch_raw_19 <- function(con, experimental) { "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("MED BAG", experimental = experimental) } else { duckdb$expr_constant("MED BAG") - }, - duckdb$expr_reference("p_container") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("MED BOX", experimental = experimental) } else { duckdb$expr_constant("MED BOX") - }, - duckdb$expr_reference("p_container") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("MED PKG", experimental = experimental) } else { duckdb$expr_constant("MED PKG") - }, - duckdb$expr_reference("p_container") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("MED PACK", experimental = experimental) } else { duckdb$expr_constant("MED PACK") - }, - duckdb$expr_reference("p_container") + } ) ) ) @@ -510,25 +510,25 @@ tpch_raw_19 <- function(con, experimental) { "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("l_shipmode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("AIR", experimental = experimental) } else { duckdb$expr_constant("AIR") - }, - duckdb$expr_reference("l_shipmode") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("l_shipmode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("AIR REG", experimental = experimental) } else { duckdb$expr_constant("AIR REG") - }, - duckdb$expr_reference("l_shipmode") + } ) ) ) @@ -592,51 +592,51 @@ tpch_raw_19 <- function(con, experimental) { "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("LG CASE", experimental = experimental) } else { duckdb$expr_constant("LG CASE") - }, - duckdb$expr_reference("p_container") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("LG BOX", experimental = experimental) } else { duckdb$expr_constant("LG BOX") - }, - duckdb$expr_reference("p_container") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("LG PACK", experimental = experimental) } else { duckdb$expr_constant("LG PACK") - }, - duckdb$expr_reference("p_container") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("LG PKG", experimental = experimental) } else { duckdb$expr_constant("LG PKG") - }, - duckdb$expr_reference("p_container") + } ) ) ) @@ -709,25 +709,25 @@ tpch_raw_19 <- function(con, experimental) { "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("l_shipmode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("AIR", experimental = experimental) } else { duckdb$expr_constant("AIR") - }, - duckdb$expr_reference("l_shipmode") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("l_shipmode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("AIR REG", experimental = experimental) } else { duckdb$expr_constant("AIR REG") - }, - duckdb$expr_reference("l_shipmode") + } ) ) ) diff --git a/R/tpch_raw_22.R b/R/tpch_raw_22.R index 526334f59..7bd6505cc 100644 --- a/R/tpch_raw_22.R +++ b/R/tpch_raw_22.R @@ -27,13 +27,8 @@ tpch_raw_22 <- function(con, experimental) { "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( - if ("experimental" %in% names(formals(duckdb$expr_constant))) { - duckdb$expr_constant("13", experimental = experimental) - } else { - duckdb$expr_constant("13") - }, duckdb$expr_function( "substr", list( @@ -49,17 +44,17 @@ tpch_raw_22 <- function(con, experimental) { duckdb$expr_constant(2L) } ) - ) + ), + if ("experimental" %in% names(formals(duckdb$expr_constant))) { + duckdb$expr_constant("13", experimental = experimental) + } else { + duckdb$expr_constant("13") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( - if ("experimental" %in% names(formals(duckdb$expr_constant))) { - duckdb$expr_constant("31", experimental = experimental) - } else { - duckdb$expr_constant("31") - }, duckdb$expr_function( "substr", list( @@ -75,19 +70,19 @@ tpch_raw_22 <- function(con, experimental) { duckdb$expr_constant(2L) } ) - ) + ), + if ("experimental" %in% names(formals(duckdb$expr_constant))) { + duckdb$expr_constant("31", experimental = experimental) + } else { + duckdb$expr_constant("31") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( - if ("experimental" %in% names(formals(duckdb$expr_constant))) { - duckdb$expr_constant("23", experimental = experimental) - } else { - duckdb$expr_constant("23") - }, duckdb$expr_function( "substr", list( @@ -103,19 +98,19 @@ tpch_raw_22 <- function(con, experimental) { duckdb$expr_constant(2L) } ) - ) + ), + if ("experimental" %in% names(formals(duckdb$expr_constant))) { + duckdb$expr_constant("23", experimental = experimental) + } else { + duckdb$expr_constant("23") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( - if ("experimental" %in% names(formals(duckdb$expr_constant))) { - duckdb$expr_constant("29", experimental = experimental) - } else { - duckdb$expr_constant("29") - }, duckdb$expr_function( "substr", list( @@ -131,19 +126,19 @@ tpch_raw_22 <- function(con, experimental) { duckdb$expr_constant(2L) } ) - ) + ), + if ("experimental" %in% names(formals(duckdb$expr_constant))) { + duckdb$expr_constant("29", experimental = experimental) + } else { + duckdb$expr_constant("29") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( - if ("experimental" %in% names(formals(duckdb$expr_constant))) { - duckdb$expr_constant("30", experimental = experimental) - } else { - duckdb$expr_constant("30") - }, duckdb$expr_function( "substr", list( @@ -159,19 +154,19 @@ tpch_raw_22 <- function(con, experimental) { duckdb$expr_constant(2L) } ) - ) + ), + if ("experimental" %in% names(formals(duckdb$expr_constant))) { + duckdb$expr_constant("30", experimental = experimental) + } else { + duckdb$expr_constant("30") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( - if ("experimental" %in% names(formals(duckdb$expr_constant))) { - duckdb$expr_constant("18", experimental = experimental) - } else { - duckdb$expr_constant("18") - }, duckdb$expr_function( "substr", list( @@ -187,19 +182,19 @@ tpch_raw_22 <- function(con, experimental) { duckdb$expr_constant(2L) } ) - ) + ), + if ("experimental" %in% names(formals(duckdb$expr_constant))) { + duckdb$expr_constant("18", experimental = experimental) + } else { + duckdb$expr_constant("18") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( - if ("experimental" %in% names(formals(duckdb$expr_constant))) { - duckdb$expr_constant("17", experimental = experimental) - } else { - duckdb$expr_constant("17") - }, duckdb$expr_function( "substr", list( @@ -215,7 +210,12 @@ tpch_raw_22 <- function(con, experimental) { duckdb$expr_constant(2L) } ) - ) + ), + if ("experimental" %in% names(formals(duckdb$expr_constant))) { + duckdb$expr_constant("17", experimental = experimental) + } else { + duckdb$expr_constant("17") + } ) ) ) @@ -552,90 +552,90 @@ tpch_raw_22 <- function(con, experimental) { "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("cntrycode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("13", experimental = experimental) } else { duckdb$expr_constant("13") - }, - duckdb$expr_reference("cntrycode") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("cntrycode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("31", experimental = experimental) } else { duckdb$expr_constant("31") - }, - duckdb$expr_reference("cntrycode") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("cntrycode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("23", experimental = experimental) } else { duckdb$expr_constant("23") - }, - duckdb$expr_reference("cntrycode") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("cntrycode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("29", experimental = experimental) } else { duckdb$expr_constant("29") - }, - duckdb$expr_reference("cntrycode") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("cntrycode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("30", experimental = experimental) } else { duckdb$expr_constant("30") - }, - duckdb$expr_reference("cntrycode") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("cntrycode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("18", experimental = experimental) } else { duckdb$expr_constant("18") - }, - duckdb$expr_reference("cntrycode") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("cntrycode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("17", experimental = experimental) } else { duckdb$expr_constant("17") - }, - duckdb$expr_reference("cntrycode") + } ) ) ) diff --git a/R/tpch_raw_oo_12.R b/R/tpch_raw_oo_12.R index 56fee896b..4168562bd 100644 --- a/R/tpch_raw_oo_12.R +++ b/R/tpch_raw_oo_12.R @@ -99,25 +99,25 @@ tpch_raw_oo_12 <- function(con, experimental) { "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("l_shipmode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("MAIL", experimental = experimental) } else { duckdb$expr_constant("MAIL") - }, - duckdb$expr_reference("l_shipmode") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("l_shipmode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("SHIP", experimental = experimental) } else { duckdb$expr_constant("SHIP") - }, - duckdb$expr_reference("l_shipmode") + } ) ) ) diff --git a/R/tpch_raw_oo_16.R b/R/tpch_raw_oo_16.R index 1b3735683..2a92ccdc0 100644 --- a/R/tpch_raw_oo_16.R +++ b/R/tpch_raw_oo_16.R @@ -109,103 +109,103 @@ tpch_raw_oo_16 <- function(con, experimental) { "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_size"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(49, experimental = experimental) } else { duckdb$expr_constant(49) - }, - duckdb$expr_reference("p_size") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_size"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(14, experimental = experimental) } else { duckdb$expr_constant(14) - }, - duckdb$expr_reference("p_size") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_size"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(23, experimental = experimental) } else { duckdb$expr_constant(23) - }, - duckdb$expr_reference("p_size") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_size"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(45, experimental = experimental) } else { duckdb$expr_constant(45) - }, - duckdb$expr_reference("p_size") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_size"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(19, experimental = experimental) } else { duckdb$expr_constant(19) - }, - duckdb$expr_reference("p_size") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_size"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(3, experimental = experimental) } else { duckdb$expr_constant(3) - }, - duckdb$expr_reference("p_size") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_size"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(36, experimental = experimental) } else { duckdb$expr_constant(36) - }, - duckdb$expr_reference("p_size") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_size"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(9, experimental = experimental) } else { duckdb$expr_constant(9) - }, - duckdb$expr_reference("p_size") + } ) ) ) diff --git a/R/tpch_raw_oo_19.R b/R/tpch_raw_oo_19.R index 15734cb69..a922acca8 100644 --- a/R/tpch_raw_oo_19.R +++ b/R/tpch_raw_oo_19.R @@ -475,51 +475,51 @@ tpch_raw_oo_19 <- function(con, experimental) { "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("SM CASE", experimental = experimental) } else { duckdb$expr_constant("SM CASE") - }, - duckdb$expr_reference("p_container") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("SM BOX", experimental = experimental) } else { duckdb$expr_constant("SM BOX") - }, - duckdb$expr_reference("p_container") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("SM PACK", experimental = experimental) } else { duckdb$expr_constant("SM PACK") - }, - duckdb$expr_reference("p_container") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("SM PKG", experimental = experimental) } else { duckdb$expr_constant("SM PKG") - }, - duckdb$expr_reference("p_container") + } ) ) ) @@ -592,25 +592,25 @@ tpch_raw_oo_19 <- function(con, experimental) { "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("l_shipmode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("AIR", experimental = experimental) } else { duckdb$expr_constant("AIR") - }, - duckdb$expr_reference("l_shipmode") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("l_shipmode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("AIR REG", experimental = experimental) } else { duckdb$expr_constant("AIR REG") - }, - duckdb$expr_reference("l_shipmode") + } ) ) ) @@ -672,51 +672,51 @@ tpch_raw_oo_19 <- function(con, experimental) { "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("MED BAG", experimental = experimental) } else { duckdb$expr_constant("MED BAG") - }, - duckdb$expr_reference("p_container") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("MED BOX", experimental = experimental) } else { duckdb$expr_constant("MED BOX") - }, - duckdb$expr_reference("p_container") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("MED PKG", experimental = experimental) } else { duckdb$expr_constant("MED PKG") - }, - duckdb$expr_reference("p_container") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("MED PACK", experimental = experimental) } else { duckdb$expr_constant("MED PACK") - }, - duckdb$expr_reference("p_container") + } ) ) ) @@ -789,25 +789,25 @@ tpch_raw_oo_19 <- function(con, experimental) { "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("l_shipmode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("AIR", experimental = experimental) } else { duckdb$expr_constant("AIR") - }, - duckdb$expr_reference("l_shipmode") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("l_shipmode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("AIR REG", experimental = experimental) } else { duckdb$expr_constant("AIR REG") - }, - duckdb$expr_reference("l_shipmode") + } ) ) ) @@ -871,51 +871,51 @@ tpch_raw_oo_19 <- function(con, experimental) { "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("LG CASE", experimental = experimental) } else { duckdb$expr_constant("LG CASE") - }, - duckdb$expr_reference("p_container") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("LG BOX", experimental = experimental) } else { duckdb$expr_constant("LG BOX") - }, - duckdb$expr_reference("p_container") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("LG PACK", experimental = experimental) } else { duckdb$expr_constant("LG PACK") - }, - duckdb$expr_reference("p_container") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("LG PKG", experimental = experimental) } else { duckdb$expr_constant("LG PKG") - }, - duckdb$expr_reference("p_container") + } ) ) ) @@ -988,25 +988,25 @@ tpch_raw_oo_19 <- function(con, experimental) { "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("l_shipmode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("AIR", experimental = experimental) } else { duckdb$expr_constant("AIR") - }, - duckdb$expr_reference("l_shipmode") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("l_shipmode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("AIR REG", experimental = experimental) } else { duckdb$expr_constant("AIR REG") - }, - duckdb$expr_reference("l_shipmode") + } ) ) ) diff --git a/R/tpch_raw_oo_22.R b/R/tpch_raw_oo_22.R index 5c694d1e3..2267e898d 100644 --- a/R/tpch_raw_oo_22.R +++ b/R/tpch_raw_oo_22.R @@ -77,13 +77,8 @@ tpch_raw_oo_22 <- function(con, experimental) { "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( - if ("experimental" %in% names(formals(duckdb$expr_constant))) { - duckdb$expr_constant("13", experimental = experimental) - } else { - duckdb$expr_constant("13") - }, duckdb$expr_function( "substr", list( @@ -99,17 +94,17 @@ tpch_raw_oo_22 <- function(con, experimental) { duckdb$expr_constant(2L) } ) - ) + ), + if ("experimental" %in% names(formals(duckdb$expr_constant))) { + duckdb$expr_constant("13", experimental = experimental) + } else { + duckdb$expr_constant("13") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( - if ("experimental" %in% names(formals(duckdb$expr_constant))) { - duckdb$expr_constant("31", experimental = experimental) - } else { - duckdb$expr_constant("31") - }, duckdb$expr_function( "substr", list( @@ -125,19 +120,19 @@ tpch_raw_oo_22 <- function(con, experimental) { duckdb$expr_constant(2L) } ) - ) + ), + if ("experimental" %in% names(formals(duckdb$expr_constant))) { + duckdb$expr_constant("31", experimental = experimental) + } else { + duckdb$expr_constant("31") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( - if ("experimental" %in% names(formals(duckdb$expr_constant))) { - duckdb$expr_constant("23", experimental = experimental) - } else { - duckdb$expr_constant("23") - }, duckdb$expr_function( "substr", list( @@ -153,19 +148,19 @@ tpch_raw_oo_22 <- function(con, experimental) { duckdb$expr_constant(2L) } ) - ) + ), + if ("experimental" %in% names(formals(duckdb$expr_constant))) { + duckdb$expr_constant("23", experimental = experimental) + } else { + duckdb$expr_constant("23") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( - if ("experimental" %in% names(formals(duckdb$expr_constant))) { - duckdb$expr_constant("29", experimental = experimental) - } else { - duckdb$expr_constant("29") - }, duckdb$expr_function( "substr", list( @@ -181,19 +176,19 @@ tpch_raw_oo_22 <- function(con, experimental) { duckdb$expr_constant(2L) } ) - ) + ), + if ("experimental" %in% names(formals(duckdb$expr_constant))) { + duckdb$expr_constant("29", experimental = experimental) + } else { + duckdb$expr_constant("29") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( - if ("experimental" %in% names(formals(duckdb$expr_constant))) { - duckdb$expr_constant("30", experimental = experimental) - } else { - duckdb$expr_constant("30") - }, duckdb$expr_function( "substr", list( @@ -209,19 +204,19 @@ tpch_raw_oo_22 <- function(con, experimental) { duckdb$expr_constant(2L) } ) - ) + ), + if ("experimental" %in% names(formals(duckdb$expr_constant))) { + duckdb$expr_constant("30", experimental = experimental) + } else { + duckdb$expr_constant("30") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( - if ("experimental" %in% names(formals(duckdb$expr_constant))) { - duckdb$expr_constant("18", experimental = experimental) - } else { - duckdb$expr_constant("18") - }, duckdb$expr_function( "substr", list( @@ -237,19 +232,19 @@ tpch_raw_oo_22 <- function(con, experimental) { duckdb$expr_constant(2L) } ) - ) + ), + if ("experimental" %in% names(formals(duckdb$expr_constant))) { + duckdb$expr_constant("18", experimental = experimental) + } else { + duckdb$expr_constant("18") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( - if ("experimental" %in% names(formals(duckdb$expr_constant))) { - duckdb$expr_constant("17", experimental = experimental) - } else { - duckdb$expr_constant("17") - }, duckdb$expr_function( "substr", list( @@ -265,7 +260,12 @@ tpch_raw_oo_22 <- function(con, experimental) { duckdb$expr_constant(2L) } ) - ) + ), + if ("experimental" %in% names(formals(duckdb$expr_constant))) { + duckdb$expr_constant("17", experimental = experimental) + } else { + duckdb$expr_constant("17") + } ) ) ) @@ -797,90 +797,90 @@ tpch_raw_oo_22 <- function(con, experimental) { "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("cntrycode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("13", experimental = experimental) } else { duckdb$expr_constant("13") - }, - duckdb$expr_reference("cntrycode") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("cntrycode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("31", experimental = experimental) } else { duckdb$expr_constant("31") - }, - duckdb$expr_reference("cntrycode") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("cntrycode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("23", experimental = experimental) } else { duckdb$expr_constant("23") - }, - duckdb$expr_reference("cntrycode") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("cntrycode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("29", experimental = experimental) } else { duckdb$expr_constant("29") - }, - duckdb$expr_reference("cntrycode") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("cntrycode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("30", experimental = experimental) } else { duckdb$expr_constant("30") - }, - duckdb$expr_reference("cntrycode") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("cntrycode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("18", experimental = experimental) } else { duckdb$expr_constant("18") - }, - duckdb$expr_reference("cntrycode") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("cntrycode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("17", experimental = experimental) } else { duckdb$expr_constant("17") - }, - duckdb$expr_reference("cntrycode") + } ) ) ) diff --git a/tests/testthat/test-as_duckplyr_df.R b/tests/testthat/test-as_duckplyr_df.R index 676cd33c8..212e87f5e 100644 --- a/tests/testthat/test-as_duckplyr_df.R +++ b/tests/testthat/test-as_duckplyr_df.R @@ -1548,21 +1548,6 @@ test_that("as_duckplyr_df() and mutate(d = a %in% NA_real_)", { }) -test_that("as_duckplyr_df() and mutate(c = NA_character_, d = c %in% NA_character_)", { - skip("Needs rfuns fix") - - # Data - test_df <- data.frame(a = 1:6 + 0, b = 2, g = rep(1:3, 1:3)) - - # Run - pre <- test_df %>% as_duckplyr_df() %>% mutate(c = NA_character_, d = c %in% NA_character_) - post <- test_df %>% mutate(c = NA_character_, d = c %in% NA_character_) %>% as_duckplyr_df() - - # Compare - expect_identical(pre, post) -}) - - test_that("as_duckplyr_df() and mutate(d = a %in% NULL)", { # Data test_df <- data.frame(a = 1:6 + 0, b = 2, g = rep(1:3, 1:3)) diff --git a/tests/testthat/test-rel_api.R b/tests/testthat/test-rel_api.R index 09dfb0a61..449821ade 100644 --- a/tests/testthat/test-rel_api.R +++ b/tests/testthat/test-rel_api.R @@ -3265,11 +3265,8 @@ test_that("relational filter(a %in% 2:3, g == 2) order-preserving", { drv <- duckdb::duckdb() con <- DBI::dbConnect(drv) experimental <- FALSE - invisible(DBI::dbExecute(con, 'CREATE MACRO "|"(x, y) AS (x OR y)')) - invisible( - DBI::dbExecute(con, 'CREATE MACRO "___eq_na_matches_na"(x, y) AS (x IS NOT DISTINCT FROM y)') - ) invisible(duckdb$rapi_load_rfuns(drv@database_ref)) + invisible(DBI::dbExecute(con, 'CREATE MACRO "|"(x, y) AS (x OR y)')) invisible(DBI::dbExecute(con, 'CREATE MACRO "=="(x, y) AS "r_base::=="(x, y)')) df1 <- data.frame(a = seq(1, 6, by = 1), b = rep(2, 6L), g = c(1L, 2L, 2L, 3L, 3L, 3L)) @@ -3306,25 +3303,25 @@ test_that("relational filter(a %in% 2:3, g == 2) order-preserving", { "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("a"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(2L, experimental = experimental) } else { duckdb$expr_constant(2L) - }, - duckdb$expr_reference("a") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("a"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(3L, experimental = experimental) } else { duckdb$expr_constant(3L) - }, - duckdb$expr_reference("a") + } ) ) ) @@ -3378,12 +3375,9 @@ test_that("relational filter(a %in% 2:3 & g == 2) order-preserving", { drv <- duckdb::duckdb() con <- DBI::dbConnect(drv) experimental <- FALSE + invisible(duckdb$rapi_load_rfuns(drv@database_ref)) invisible(DBI::dbExecute(con, 'CREATE MACRO "&"(x, y) AS (x AND y)')) invisible(DBI::dbExecute(con, 'CREATE MACRO "|"(x, y) AS (x OR y)')) - invisible( - DBI::dbExecute(con, 'CREATE MACRO "___eq_na_matches_na"(x, y) AS (x IS NOT DISTINCT FROM y)') - ) - invisible(duckdb$rapi_load_rfuns(drv@database_ref)) invisible(DBI::dbExecute(con, 'CREATE MACRO "=="(x, y) AS "r_base::=="(x, y)')) df1 <- data.frame(a = seq(1, 6, by = 1), b = rep(2, 6L), g = c(1L, 2L, 2L, 3L, 3L, 3L)) @@ -3423,25 +3417,25 @@ test_that("relational filter(a %in% 2:3 & g == 2) order-preserving", { "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("a"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(2L, experimental = experimental) } else { duckdb$expr_constant(2L) - }, - duckdb$expr_reference("a") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("a"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(3L, experimental = experimental) } else { duckdb$expr_constant(3L) - }, - duckdb$expr_reference("a") + } ) ) ) @@ -3638,11 +3632,8 @@ test_that("relational filter(a %in% 2:3, g == 2) order-enforcing", { drv <- duckdb::duckdb() con <- DBI::dbConnect(drv) experimental <- FALSE - invisible(DBI::dbExecute(con, 'CREATE MACRO "|"(x, y) AS (x OR y)')) - invisible( - DBI::dbExecute(con, 'CREATE MACRO "___eq_na_matches_na"(x, y) AS (x IS NOT DISTINCT FROM y)') - ) invisible(duckdb$rapi_load_rfuns(drv@database_ref)) + invisible(DBI::dbExecute(con, 'CREATE MACRO "|"(x, y) AS (x OR y)')) invisible(DBI::dbExecute(con, 'CREATE MACRO "=="(x, y) AS "r_base::=="(x, y)')) df1 <- data.frame(a = seq(1, 6, by = 1), b = rep(2, 6L), g = c(1L, 2L, 2L, 3L, 3L, 3L)) @@ -3654,25 +3645,25 @@ test_that("relational filter(a %in% 2:3, g == 2) order-enforcing", { "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("a"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(2L, experimental = experimental) } else { duckdb$expr_constant(2L) - }, - duckdb$expr_reference("a") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("a"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(3L, experimental = experimental) } else { duckdb$expr_constant(3L) - }, - duckdb$expr_reference("a") + } ) ) ) @@ -3709,12 +3700,9 @@ test_that("relational filter(a %in% 2:3 & g == 2) order-enforcing", { drv <- duckdb::duckdb() con <- DBI::dbConnect(drv) experimental <- FALSE + invisible(duckdb$rapi_load_rfuns(drv@database_ref)) invisible(DBI::dbExecute(con, 'CREATE MACRO "&"(x, y) AS (x AND y)')) invisible(DBI::dbExecute(con, 'CREATE MACRO "|"(x, y) AS (x OR y)')) - invisible( - DBI::dbExecute(con, 'CREATE MACRO "___eq_na_matches_na"(x, y) AS (x IS NOT DISTINCT FROM y)') - ) - invisible(duckdb$rapi_load_rfuns(drv@database_ref)) invisible(DBI::dbExecute(con, 'CREATE MACRO "=="(x, y) AS "r_base::=="(x, y)')) df1 <- data.frame(a = seq(1, 6, by = 1), b = rep(2, 6L), g = c(1L, 2L, 2L, 3L, 3L, 3L)) @@ -3729,25 +3717,25 @@ test_that("relational filter(a %in% 2:3 & g == 2) order-enforcing", { "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("a"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(2L, experimental = experimental) } else { duckdb$expr_constant(2L) - }, - duckdb$expr_reference("a") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("a"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(3L, experimental = experimental) } else { duckdb$expr_constant(3L) - }, - duckdb$expr_reference("a") + } ) ) ) @@ -8561,9 +8549,8 @@ test_that("relational mutate(d = a %in% NA_real_) order-preserving", { drv <- duckdb::duckdb() con <- DBI::dbConnect(drv) experimental <- FALSE - invisible( - DBI::dbExecute(con, 'CREATE MACRO "___eq_na_matches_na"(x, y) AS (x IS NOT DISTINCT FROM y)') - ) + invisible(duckdb$rapi_load_rfuns(drv@database_ref)) + invisible(DBI::dbExecute(con, 'CREATE MACRO "is.na"(x) AS (x IS NULL OR isnan(x))')) df1 <- data.frame(a = seq(1, 6, by = 1), b = rep(2, 6L), g = c(1L, 2L, 2L, 3L, 3L, 3L)) rel1 <- duckdb$rel_from_df(con, df1, experimental = experimental) @@ -8586,17 +8573,7 @@ test_that("relational mutate(d = a %in% NA_real_) order-preserving", { tmp_expr }, { - tmp_expr <- duckdb$expr_function( - "___eq_na_matches_na", - list( - if ("experimental" %in% names(formals(duckdb$expr_constant))) { - duckdb$expr_constant(NA_real_, experimental = experimental) - } else { - duckdb$expr_constant(NA_real_) - }, - duckdb$expr_reference("a") - ) - ) + tmp_expr <- duckdb$expr_function("is.na", list(duckdb$expr_reference("a"))) duckdb$expr_set_alias(tmp_expr, "d") tmp_expr } @@ -8616,102 +8593,6 @@ test_that("relational mutate(d = a %in% NA_real_) order-preserving", { DBI::dbDisconnect(con, shutdown = TRUE) }) -test_that("relational mutate(c = NA_character_, d = c %in% NA_character_) order-preserving", { - # Autogenerated - duckdb <- asNamespace("duckdb") - drv <- duckdb::duckdb() - con <- DBI::dbConnect(drv) - experimental <- FALSE - invisible( - DBI::dbExecute(con, 'CREATE MACRO "___eq_na_matches_na"(x, y) AS (x IS NOT DISTINCT FROM y)') - ) - df1 <- data.frame(a = seq(1, 6, by = 1), b = rep(2, 6L), g = c(1L, 2L, 2L, 3L, 3L, 3L)) - - 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 <- duckdb$expr_reference("b") - duckdb$expr_set_alias(tmp_expr, "b") - tmp_expr - }, - { - tmp_expr <- duckdb$expr_reference("g") - duckdb$expr_set_alias(tmp_expr, "g") - tmp_expr - }, - { - tmp_expr <- if ("experimental" %in% names(formals(duckdb$expr_constant))) { - duckdb$expr_constant(NA_character_, experimental = experimental) - } else { - duckdb$expr_constant(NA_character_) - } - duckdb$expr_set_alias(tmp_expr, "c") - tmp_expr - } - ) - ) - rel3 <- duckdb$rel_project( - rel2, - list( - { - tmp_expr <- duckdb$expr_reference("a") - duckdb$expr_set_alias(tmp_expr, "a") - tmp_expr - }, - { - tmp_expr <- duckdb$expr_reference("b") - duckdb$expr_set_alias(tmp_expr, "b") - tmp_expr - }, - { - tmp_expr <- duckdb$expr_reference("g") - duckdb$expr_set_alias(tmp_expr, "g") - tmp_expr - }, - { - tmp_expr <- duckdb$expr_reference("c") - duckdb$expr_set_alias(tmp_expr, "c") - tmp_expr - }, - { - tmp_expr <- duckdb$expr_function( - "___eq_na_matches_na", - list( - if ("experimental" %in% names(formals(duckdb$expr_constant))) { - duckdb$expr_constant(NA_character_, experimental = experimental) - } else { - duckdb$expr_constant(NA_character_) - }, - duckdb$expr_reference("c") - ) - ) - duckdb$expr_set_alias(tmp_expr, "d") - tmp_expr - } - ) - ) - rel3 - out <- duckdb$rel_to_altrep(rel3) - expect_identical( - out, - data.frame( - a = seq(1, 6, by = 1), - b = rep(2, 6L), - g = c(1L, 2L, 2L, 3L, 3L, 3L), - c = rep(NA_character_, 6L), - d = rep(TRUE, 6L) - ) - ) - DBI::dbDisconnect(con, shutdown = TRUE) -}) - test_that("relational mutate(d = a %in% NULL) order-preserving", { # Autogenerated duckdb <- asNamespace("duckdb") @@ -12488,9 +12369,8 @@ test_that("relational mutate(d = a %in% NA_real_) order-enforcing", { drv <- duckdb::duckdb() con <- DBI::dbConnect(drv) experimental <- FALSE - invisible( - DBI::dbExecute(con, 'CREATE MACRO "___eq_na_matches_na"(x, y) AS (x IS NOT DISTINCT FROM y)') - ) + invisible(duckdb$rapi_load_rfuns(drv@database_ref)) + invisible(DBI::dbExecute(con, 'CREATE MACRO "is.na"(x) AS (x IS NULL OR isnan(x))')) df1 <- data.frame(a = seq(1, 6, by = 1), b = rep(2, 6L), g = c(1L, 2L, 2L, 3L, 3L, 3L)) rel1 <- duckdb$rel_from_df(con, df1, experimental = experimental) @@ -12513,17 +12393,7 @@ test_that("relational mutate(d = a %in% NA_real_) order-enforcing", { tmp_expr }, { - tmp_expr <- duckdb$expr_function( - "___eq_na_matches_na", - list( - if ("experimental" %in% names(formals(duckdb$expr_constant))) { - duckdb$expr_constant(NA_real_, experimental = experimental) - } else { - duckdb$expr_constant(NA_real_) - }, - duckdb$expr_reference("a") - ) - ) + tmp_expr <- duckdb$expr_function("is.na", list(duckdb$expr_reference("a"))) duckdb$expr_set_alias(tmp_expr, "d") tmp_expr } @@ -12547,106 +12417,6 @@ test_that("relational mutate(d = a %in% NA_real_) order-enforcing", { DBI::dbDisconnect(con, shutdown = TRUE) }) -test_that("relational mutate(c = NA_character_, d = c %in% NA_character_) order-enforcing", { - # Autogenerated - duckdb <- asNamespace("duckdb") - drv <- duckdb::duckdb() - con <- DBI::dbConnect(drv) - experimental <- FALSE - invisible( - DBI::dbExecute(con, 'CREATE MACRO "___eq_na_matches_na"(x, y) AS (x IS NOT DISTINCT FROM y)') - ) - df1 <- data.frame(a = seq(1, 6, by = 1), b = rep(2, 6L), g = c(1L, 2L, 2L, 3L, 3L, 3L)) - - 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 <- duckdb$expr_reference("b") - duckdb$expr_set_alias(tmp_expr, "b") - tmp_expr - }, - { - tmp_expr <- duckdb$expr_reference("g") - duckdb$expr_set_alias(tmp_expr, "g") - tmp_expr - }, - { - tmp_expr <- if ("experimental" %in% names(formals(duckdb$expr_constant))) { - duckdb$expr_constant(NA_character_, experimental = experimental) - } else { - duckdb$expr_constant(NA_character_) - } - duckdb$expr_set_alias(tmp_expr, "c") - tmp_expr - } - ) - ) - rel3 <- duckdb$rel_project( - rel2, - list( - { - tmp_expr <- duckdb$expr_reference("a") - duckdb$expr_set_alias(tmp_expr, "a") - tmp_expr - }, - { - tmp_expr <- duckdb$expr_reference("b") - duckdb$expr_set_alias(tmp_expr, "b") - tmp_expr - }, - { - tmp_expr <- duckdb$expr_reference("g") - duckdb$expr_set_alias(tmp_expr, "g") - tmp_expr - }, - { - tmp_expr <- duckdb$expr_reference("c") - duckdb$expr_set_alias(tmp_expr, "c") - tmp_expr - }, - { - tmp_expr <- duckdb$expr_function( - "___eq_na_matches_na", - list( - if ("experimental" %in% names(formals(duckdb$expr_constant))) { - duckdb$expr_constant(NA_character_, experimental = experimental) - } else { - duckdb$expr_constant(NA_character_) - }, - duckdb$expr_reference("c") - ) - ) - duckdb$expr_set_alias(tmp_expr, "d") - tmp_expr - } - ) - ) - rel4 <- duckdb$rel_order( - rel3, - list(duckdb$expr_reference("a"), duckdb$expr_reference("b"), duckdb$expr_reference("g"), duckdb$expr_reference("c"), duckdb$expr_reference("d")) - ) - rel4 - out <- duckdb$rel_to_altrep(rel4) - expect_identical( - out, - data.frame( - a = seq(1, 6, by = 1), - b = rep(2, 6L), - g = c(1L, 2L, 2L, 3L, 3L, 3L), - c = rep(NA_character_, 6L), - d = rep(TRUE, 6L) - ) - ) - DBI::dbDisconnect(con, shutdown = TRUE) -}) - test_that("relational mutate(d = a %in% NULL) order-enforcing", { # Autogenerated duckdb <- asNamespace("duckdb") diff --git a/tools/tpch-raw-oo/12.R b/tools/tpch-raw-oo/12.R index 9e0f41315..fd5b39ec9 100644 --- a/tools/tpch-raw-oo/12.R +++ b/tools/tpch-raw-oo/12.R @@ -3,11 +3,8 @@ duckdb <- asNamespace("duckdb") drv <- duckdb::duckdb() con <- DBI::dbConnect(drv) experimental <- FALSE -invisible(DBI::dbExecute(con, 'CREATE MACRO "|"(x, y) AS (x OR y)')) -invisible( - DBI::dbExecute(con, 'CREATE MACRO "___eq_na_matches_na"(x, y) AS (x IS NOT DISTINCT FROM y)') -) invisible(duckdb$rapi_load_rfuns(drv@database_ref)) +invisible(DBI::dbExecute(con, 'CREATE MACRO "|"(x, y) AS (x OR y)')) invisible(DBI::dbExecute(con, 'CREATE MACRO "<"(x, y) AS "r_base::<"(x, y)')) invisible(DBI::dbExecute(con, 'CREATE MACRO ">="(x, y) AS "r_base::>="(x, y)')) invisible(DBI::dbExecute(con, 'CREATE MACRO "=="(x, y) AS "r_base::=="(x, y)')) @@ -119,25 +116,25 @@ rel3 <- duckdb$rel_filter( "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("l_shipmode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("MAIL", experimental = experimental) } else { duckdb$expr_constant("MAIL") - }, - duckdb$expr_reference("l_shipmode") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("l_shipmode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("SHIP", experimental = experimental) } else { duckdb$expr_constant("SHIP") - }, - duckdb$expr_reference("l_shipmode") + } ) ) ) diff --git a/tools/tpch-raw-oo/16.R b/tools/tpch-raw-oo/16.R index ff12f7787..496a92249 100644 --- a/tools/tpch-raw-oo/16.R +++ b/tools/tpch-raw-oo/16.R @@ -13,9 +13,6 @@ invisible( ) ) invisible(DBI::dbExecute(con, 'CREATE MACRO "|"(x, y) AS (x OR y)')) -invisible( - DBI::dbExecute(con, 'CREATE MACRO "___eq_na_matches_na"(x, y) AS (x IS NOT DISTINCT FROM y)') -) invisible(DBI::dbExecute(con, 'CREATE MACRO "=="(x, y) AS "r_base::=="(x, y)')) invisible(DBI::dbExecute(con, 'CREATE MACRO "___coalesce"(x, y) AS COALESCE(x, y)')) invisible(DBI::dbExecute(con, 'CREATE MACRO "n_distinct"(x) AS (COUNT(DISTINCT x))')) @@ -129,103 +126,103 @@ rel3 <- duckdb$rel_filter( "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_size"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(49, experimental = experimental) } else { duckdb$expr_constant(49) - }, - duckdb$expr_reference("p_size") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_size"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(14, experimental = experimental) } else { duckdb$expr_constant(14) - }, - duckdb$expr_reference("p_size") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_size"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(23, experimental = experimental) } else { duckdb$expr_constant(23) - }, - duckdb$expr_reference("p_size") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_size"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(45, experimental = experimental) } else { duckdb$expr_constant(45) - }, - duckdb$expr_reference("p_size") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_size"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(19, experimental = experimental) } else { duckdb$expr_constant(19) - }, - duckdb$expr_reference("p_size") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_size"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(3, experimental = experimental) } else { duckdb$expr_constant(3) - }, - duckdb$expr_reference("p_size") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_size"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(36, experimental = experimental) } else { duckdb$expr_constant(36) - }, - duckdb$expr_reference("p_size") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_size"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(9, experimental = experimental) } else { duckdb$expr_constant(9) - }, - duckdb$expr_reference("p_size") + } ) ) ) diff --git a/tools/tpch-raw-oo/19.R b/tools/tpch-raw-oo/19.R index df12de2f2..7c9e66d77 100644 --- a/tools/tpch-raw-oo/19.R +++ b/tools/tpch-raw-oo/19.R @@ -8,9 +8,6 @@ invisible(DBI::dbExecute(con, 'CREATE MACRO "=="(x, y) AS "r_base::=="(x, y)')) invisible(DBI::dbExecute(con, 'CREATE MACRO "___coalesce"(x, y) AS COALESCE(x, y)')) invisible(DBI::dbExecute(con, 'CREATE MACRO "|"(x, y) AS (x OR y)')) invisible(DBI::dbExecute(con, 'CREATE MACRO "&"(x, y) AS (x AND y)')) -invisible( - DBI::dbExecute(con, 'CREATE MACRO "___eq_na_matches_na"(x, y) AS (x IS NOT DISTINCT FROM y)') -) invisible(DBI::dbExecute(con, 'CREATE MACRO ">="(x, y) AS "r_base::>="(x, y)')) invisible(DBI::dbExecute(con, 'CREATE MACRO "<="(x, y) AS "r_base::<="(x, y)')) df1 <- lineitem @@ -488,51 +485,51 @@ rel11 <- duckdb$rel_filter( "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("SM CASE", experimental = experimental) } else { duckdb$expr_constant("SM CASE") - }, - duckdb$expr_reference("p_container") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("SM BOX", experimental = experimental) } else { duckdb$expr_constant("SM BOX") - }, - duckdb$expr_reference("p_container") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("SM PACK", experimental = experimental) } else { duckdb$expr_constant("SM PACK") - }, - duckdb$expr_reference("p_container") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("SM PKG", experimental = experimental) } else { duckdb$expr_constant("SM PKG") - }, - duckdb$expr_reference("p_container") + } ) ) ) @@ -605,25 +602,25 @@ rel11 <- duckdb$rel_filter( "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("l_shipmode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("AIR", experimental = experimental) } else { duckdb$expr_constant("AIR") - }, - duckdb$expr_reference("l_shipmode") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("l_shipmode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("AIR REG", experimental = experimental) } else { duckdb$expr_constant("AIR REG") - }, - duckdb$expr_reference("l_shipmode") + } ) ) ) @@ -685,51 +682,51 @@ rel11 <- duckdb$rel_filter( "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("MED BAG", experimental = experimental) } else { duckdb$expr_constant("MED BAG") - }, - duckdb$expr_reference("p_container") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("MED BOX", experimental = experimental) } else { duckdb$expr_constant("MED BOX") - }, - duckdb$expr_reference("p_container") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("MED PKG", experimental = experimental) } else { duckdb$expr_constant("MED PKG") - }, - duckdb$expr_reference("p_container") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("MED PACK", experimental = experimental) } else { duckdb$expr_constant("MED PACK") - }, - duckdb$expr_reference("p_container") + } ) ) ) @@ -802,25 +799,25 @@ rel11 <- duckdb$rel_filter( "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("l_shipmode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("AIR", experimental = experimental) } else { duckdb$expr_constant("AIR") - }, - duckdb$expr_reference("l_shipmode") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("l_shipmode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("AIR REG", experimental = experimental) } else { duckdb$expr_constant("AIR REG") - }, - duckdb$expr_reference("l_shipmode") + } ) ) ) @@ -884,51 +881,51 @@ rel11 <- duckdb$rel_filter( "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("LG CASE", experimental = experimental) } else { duckdb$expr_constant("LG CASE") - }, - duckdb$expr_reference("p_container") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("LG BOX", experimental = experimental) } else { duckdb$expr_constant("LG BOX") - }, - duckdb$expr_reference("p_container") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("LG PACK", experimental = experimental) } else { duckdb$expr_constant("LG PACK") - }, - duckdb$expr_reference("p_container") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("LG PKG", experimental = experimental) } else { duckdb$expr_constant("LG PKG") - }, - duckdb$expr_reference("p_container") + } ) ) ) @@ -1001,25 +998,25 @@ rel11 <- duckdb$rel_filter( "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("l_shipmode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("AIR", experimental = experimental) } else { duckdb$expr_constant("AIR") - }, - duckdb$expr_reference("l_shipmode") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("l_shipmode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("AIR REG", experimental = experimental) } else { duckdb$expr_constant("AIR REG") - }, - duckdb$expr_reference("l_shipmode") + } ) ) ) diff --git a/tools/tpch-raw-oo/22.R b/tools/tpch-raw-oo/22.R index a89491bc0..0752dbfdd 100644 --- a/tools/tpch-raw-oo/22.R +++ b/tools/tpch-raw-oo/22.R @@ -3,12 +3,9 @@ duckdb <- asNamespace("duckdb") drv <- duckdb::duckdb() con <- DBI::dbConnect(drv) experimental <- FALSE +invisible(duckdb$rapi_load_rfuns(drv@database_ref)) invisible(DBI::dbExecute(con, 'CREATE MACRO "&"(x, y) AS (x AND y)')) invisible(DBI::dbExecute(con, 'CREATE MACRO "|"(x, y) AS (x OR y)')) -invisible( - DBI::dbExecute(con, 'CREATE MACRO "___eq_na_matches_na"(x, y) AS (x IS NOT DISTINCT FROM y)') -) -invisible(duckdb$rapi_load_rfuns(drv@database_ref)) invisible(DBI::dbExecute(con, 'CREATE MACRO ">"(x, y) AS "r_base::>"(x, y)')) invisible(DBI::dbExecute(con, 'CREATE MACRO "=="(x, y) AS "r_base::=="(x, y)')) invisible(DBI::dbExecute(con, 'CREATE MACRO "___coalesce"(x, y) AS COALESCE(x, y)')) @@ -90,13 +87,8 @@ rel3 <- duckdb$rel_filter( "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( - if ("experimental" %in% names(formals(duckdb$expr_constant))) { - duckdb$expr_constant("13", experimental = experimental) - } else { - duckdb$expr_constant("13") - }, duckdb$expr_function( "substr", list( @@ -112,17 +104,17 @@ rel3 <- duckdb$rel_filter( duckdb$expr_constant(2L) } ) - ) + ), + if ("experimental" %in% names(formals(duckdb$expr_constant))) { + duckdb$expr_constant("13", experimental = experimental) + } else { + duckdb$expr_constant("13") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( - if ("experimental" %in% names(formals(duckdb$expr_constant))) { - duckdb$expr_constant("31", experimental = experimental) - } else { - duckdb$expr_constant("31") - }, duckdb$expr_function( "substr", list( @@ -138,19 +130,19 @@ rel3 <- duckdb$rel_filter( duckdb$expr_constant(2L) } ) - ) + ), + if ("experimental" %in% names(formals(duckdb$expr_constant))) { + duckdb$expr_constant("31", experimental = experimental) + } else { + duckdb$expr_constant("31") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( - if ("experimental" %in% names(formals(duckdb$expr_constant))) { - duckdb$expr_constant("23", experimental = experimental) - } else { - duckdb$expr_constant("23") - }, duckdb$expr_function( "substr", list( @@ -166,19 +158,19 @@ rel3 <- duckdb$rel_filter( duckdb$expr_constant(2L) } ) - ) + ), + if ("experimental" %in% names(formals(duckdb$expr_constant))) { + duckdb$expr_constant("23", experimental = experimental) + } else { + duckdb$expr_constant("23") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( - if ("experimental" %in% names(formals(duckdb$expr_constant))) { - duckdb$expr_constant("29", experimental = experimental) - } else { - duckdb$expr_constant("29") - }, duckdb$expr_function( "substr", list( @@ -194,19 +186,19 @@ rel3 <- duckdb$rel_filter( duckdb$expr_constant(2L) } ) - ) + ), + if ("experimental" %in% names(formals(duckdb$expr_constant))) { + duckdb$expr_constant("29", experimental = experimental) + } else { + duckdb$expr_constant("29") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( - if ("experimental" %in% names(formals(duckdb$expr_constant))) { - duckdb$expr_constant("30", experimental = experimental) - } else { - duckdb$expr_constant("30") - }, duckdb$expr_function( "substr", list( @@ -222,19 +214,19 @@ rel3 <- duckdb$rel_filter( duckdb$expr_constant(2L) } ) - ) + ), + if ("experimental" %in% names(formals(duckdb$expr_constant))) { + duckdb$expr_constant("30", experimental = experimental) + } else { + duckdb$expr_constant("30") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( - if ("experimental" %in% names(formals(duckdb$expr_constant))) { - duckdb$expr_constant("18", experimental = experimental) - } else { - duckdb$expr_constant("18") - }, duckdb$expr_function( "substr", list( @@ -250,19 +242,19 @@ rel3 <- duckdb$rel_filter( duckdb$expr_constant(2L) } ) - ) + ), + if ("experimental" %in% names(formals(duckdb$expr_constant))) { + duckdb$expr_constant("18", experimental = experimental) + } else { + duckdb$expr_constant("18") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( - if ("experimental" %in% names(formals(duckdb$expr_constant))) { - duckdb$expr_constant("17", experimental = experimental) - } else { - duckdb$expr_constant("17") - }, duckdb$expr_function( "substr", list( @@ -278,7 +270,12 @@ rel3 <- duckdb$rel_filter( duckdb$expr_constant(2L) } ) - ) + ), + if ("experimental" %in% names(formals(duckdb$expr_constant))) { + duckdb$expr_constant("17", experimental = experimental) + } else { + duckdb$expr_constant("17") + } ) ) ) @@ -810,90 +807,90 @@ rel21 <- duckdb$rel_filter( "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("cntrycode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("13", experimental = experimental) } else { duckdb$expr_constant("13") - }, - duckdb$expr_reference("cntrycode") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("cntrycode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("31", experimental = experimental) } else { duckdb$expr_constant("31") - }, - duckdb$expr_reference("cntrycode") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("cntrycode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("23", experimental = experimental) } else { duckdb$expr_constant("23") - }, - duckdb$expr_reference("cntrycode") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("cntrycode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("29", experimental = experimental) } else { duckdb$expr_constant("29") - }, - duckdb$expr_reference("cntrycode") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("cntrycode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("30", experimental = experimental) } else { duckdb$expr_constant("30") - }, - duckdb$expr_reference("cntrycode") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("cntrycode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("18", experimental = experimental) } else { duckdb$expr_constant("18") - }, - duckdb$expr_reference("cntrycode") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("cntrycode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("17", experimental = experimental) } else { duckdb$expr_constant("17") - }, - duckdb$expr_reference("cntrycode") + } ) ) ) diff --git a/tools/tpch-raw/12.R b/tools/tpch-raw/12.R index eef253a57..845a68334 100644 --- a/tools/tpch-raw/12.R +++ b/tools/tpch-raw/12.R @@ -3,11 +3,8 @@ duckdb <- asNamespace("duckdb") drv <- duckdb::duckdb() con <- DBI::dbConnect(drv) experimental <- FALSE -invisible(DBI::dbExecute(con, 'CREATE MACRO "|"(x, y) AS (x OR y)')) -invisible( - DBI::dbExecute(con, 'CREATE MACRO "___eq_na_matches_na"(x, y) AS (x IS NOT DISTINCT FROM y)') -) invisible(duckdb$rapi_load_rfuns(drv@database_ref)) +invisible(DBI::dbExecute(con, 'CREATE MACRO "|"(x, y) AS (x OR y)')) invisible(DBI::dbExecute(con, 'CREATE MACRO "<"(x, y) AS "r_base::<"(x, y)')) invisible(DBI::dbExecute(con, 'CREATE MACRO ">="(x, y) AS "r_base::>="(x, y)')) invisible(DBI::dbExecute(con, 'CREATE MACRO "=="(x, y) AS "r_base::=="(x, y)')) @@ -29,25 +26,25 @@ rel2 <- duckdb$rel_filter( "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("l_shipmode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("MAIL", experimental = experimental) } else { duckdb$expr_constant("MAIL") - }, - duckdb$expr_reference("l_shipmode") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("l_shipmode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("SHIP", experimental = experimental) } else { duckdb$expr_constant("SHIP") - }, - duckdb$expr_reference("l_shipmode") + } ) ) ) diff --git a/tools/tpch-raw/16.R b/tools/tpch-raw/16.R index ffd57fda9..28fdbe41d 100644 --- a/tools/tpch-raw/16.R +++ b/tools/tpch-raw/16.R @@ -13,9 +13,6 @@ invisible( ) ) invisible(DBI::dbExecute(con, 'CREATE MACRO "|"(x, y) AS (x OR y)')) -invisible( - DBI::dbExecute(con, 'CREATE MACRO "___eq_na_matches_na"(x, y) AS (x IS NOT DISTINCT FROM y)') -) invisible(DBI::dbExecute(con, 'CREATE MACRO "=="(x, y) AS "r_base::=="(x, y)')) invisible(DBI::dbExecute(con, 'CREATE MACRO "___coalesce"(x, y) AS COALESCE(x, y)')) invisible(DBI::dbExecute(con, 'CREATE MACRO "n_distinct"(x) AS (COUNT(DISTINCT x))')) @@ -74,103 +71,103 @@ rel2 <- duckdb$rel_filter( "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_size"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(49, experimental = experimental) } else { duckdb$expr_constant(49) - }, - duckdb$expr_reference("p_size") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_size"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(14, experimental = experimental) } else { duckdb$expr_constant(14) - }, - duckdb$expr_reference("p_size") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_size"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(23, experimental = experimental) } else { duckdb$expr_constant(23) - }, - duckdb$expr_reference("p_size") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_size"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(45, experimental = experimental) } else { duckdb$expr_constant(45) - }, - duckdb$expr_reference("p_size") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_size"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(19, experimental = experimental) } else { duckdb$expr_constant(19) - }, - duckdb$expr_reference("p_size") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_size"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(3, experimental = experimental) } else { duckdb$expr_constant(3) - }, - duckdb$expr_reference("p_size") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_size"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(36, experimental = experimental) } else { duckdb$expr_constant(36) - }, - duckdb$expr_reference("p_size") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_size"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant(9, experimental = experimental) } else { duckdb$expr_constant(9) - }, - duckdb$expr_reference("p_size") + } ) ) ) diff --git a/tools/tpch-raw/19.R b/tools/tpch-raw/19.R index 4820f44bb..124e6aa23 100644 --- a/tools/tpch-raw/19.R +++ b/tools/tpch-raw/19.R @@ -8,9 +8,6 @@ invisible(DBI::dbExecute(con, 'CREATE MACRO "=="(x, y) AS "r_base::=="(x, y)')) invisible(DBI::dbExecute(con, 'CREATE MACRO "___coalesce"(x, y) AS COALESCE(x, y)')) invisible(DBI::dbExecute(con, 'CREATE MACRO "|"(x, y) AS (x OR y)')) invisible(DBI::dbExecute(con, 'CREATE MACRO "&"(x, y) AS (x AND y)')) -invisible( - DBI::dbExecute(con, 'CREATE MACRO "___eq_na_matches_na"(x, y) AS (x IS NOT DISTINCT FROM y)') -) invisible(DBI::dbExecute(con, 'CREATE MACRO ">="(x, y) AS "r_base::>="(x, y)')) invisible(DBI::dbExecute(con, 'CREATE MACRO "<="(x, y) AS "r_base::<="(x, y)')) df1 <- lineitem @@ -209,51 +206,51 @@ rel7 <- duckdb$rel_filter( "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("SM CASE", experimental = experimental) } else { duckdb$expr_constant("SM CASE") - }, - duckdb$expr_reference("p_container") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("SM BOX", experimental = experimental) } else { duckdb$expr_constant("SM BOX") - }, - duckdb$expr_reference("p_container") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("SM PACK", experimental = experimental) } else { duckdb$expr_constant("SM PACK") - }, - duckdb$expr_reference("p_container") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("SM PKG", experimental = experimental) } else { duckdb$expr_constant("SM PKG") - }, - duckdb$expr_reference("p_container") + } ) ) ) @@ -326,25 +323,25 @@ rel7 <- duckdb$rel_filter( "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("l_shipmode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("AIR", experimental = experimental) } else { duckdb$expr_constant("AIR") - }, - duckdb$expr_reference("l_shipmode") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("l_shipmode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("AIR REG", experimental = experimental) } else { duckdb$expr_constant("AIR REG") - }, - duckdb$expr_reference("l_shipmode") + } ) ) ) @@ -406,51 +403,51 @@ rel7 <- duckdb$rel_filter( "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("MED BAG", experimental = experimental) } else { duckdb$expr_constant("MED BAG") - }, - duckdb$expr_reference("p_container") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("MED BOX", experimental = experimental) } else { duckdb$expr_constant("MED BOX") - }, - duckdb$expr_reference("p_container") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("MED PKG", experimental = experimental) } else { duckdb$expr_constant("MED PKG") - }, - duckdb$expr_reference("p_container") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("MED PACK", experimental = experimental) } else { duckdb$expr_constant("MED PACK") - }, - duckdb$expr_reference("p_container") + } ) ) ) @@ -523,25 +520,25 @@ rel7 <- duckdb$rel_filter( "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("l_shipmode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("AIR", experimental = experimental) } else { duckdb$expr_constant("AIR") - }, - duckdb$expr_reference("l_shipmode") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("l_shipmode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("AIR REG", experimental = experimental) } else { duckdb$expr_constant("AIR REG") - }, - duckdb$expr_reference("l_shipmode") + } ) ) ) @@ -605,51 +602,51 @@ rel7 <- duckdb$rel_filter( "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("LG CASE", experimental = experimental) } else { duckdb$expr_constant("LG CASE") - }, - duckdb$expr_reference("p_container") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("LG BOX", experimental = experimental) } else { duckdb$expr_constant("LG BOX") - }, - duckdb$expr_reference("p_container") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("LG PACK", experimental = experimental) } else { duckdb$expr_constant("LG PACK") - }, - duckdb$expr_reference("p_container") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("p_container"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("LG PKG", experimental = experimental) } else { duckdb$expr_constant("LG PKG") - }, - duckdb$expr_reference("p_container") + } ) ) ) @@ -722,25 +719,25 @@ rel7 <- duckdb$rel_filter( "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("l_shipmode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("AIR", experimental = experimental) } else { duckdb$expr_constant("AIR") - }, - duckdb$expr_reference("l_shipmode") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("l_shipmode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("AIR REG", experimental = experimental) } else { duckdb$expr_constant("AIR REG") - }, - duckdb$expr_reference("l_shipmode") + } ) ) ) diff --git a/tools/tpch-raw/22.R b/tools/tpch-raw/22.R index 5a8b8bb3b..9a19e0ba0 100644 --- a/tools/tpch-raw/22.R +++ b/tools/tpch-raw/22.R @@ -3,12 +3,9 @@ duckdb <- asNamespace("duckdb") drv <- duckdb::duckdb() con <- DBI::dbConnect(drv) experimental <- FALSE +invisible(duckdb$rapi_load_rfuns(drv@database_ref)) invisible(DBI::dbExecute(con, 'CREATE MACRO "&"(x, y) AS (x AND y)')) invisible(DBI::dbExecute(con, 'CREATE MACRO "|"(x, y) AS (x OR y)')) -invisible( - DBI::dbExecute(con, 'CREATE MACRO "___eq_na_matches_na"(x, y) AS (x IS NOT DISTINCT FROM y)') -) -invisible(duckdb$rapi_load_rfuns(drv@database_ref)) invisible(DBI::dbExecute(con, 'CREATE MACRO ">"(x, y) AS "r_base::>"(x, y)')) invisible(DBI::dbExecute(con, 'CREATE MACRO "=="(x, y) AS "r_base::=="(x, y)')) invisible(DBI::dbExecute(con, 'CREATE MACRO "___coalesce"(x, y) AS COALESCE(x, y)')) @@ -40,13 +37,8 @@ rel2 <- duckdb$rel_filter( "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( - if ("experimental" %in% names(formals(duckdb$expr_constant))) { - duckdb$expr_constant("13", experimental = experimental) - } else { - duckdb$expr_constant("13") - }, duckdb$expr_function( "substr", list( @@ -62,17 +54,17 @@ rel2 <- duckdb$rel_filter( duckdb$expr_constant(2L) } ) - ) + ), + if ("experimental" %in% names(formals(duckdb$expr_constant))) { + duckdb$expr_constant("13", experimental = experimental) + } else { + duckdb$expr_constant("13") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( - if ("experimental" %in% names(formals(duckdb$expr_constant))) { - duckdb$expr_constant("31", experimental = experimental) - } else { - duckdb$expr_constant("31") - }, duckdb$expr_function( "substr", list( @@ -88,19 +80,19 @@ rel2 <- duckdb$rel_filter( duckdb$expr_constant(2L) } ) - ) + ), + if ("experimental" %in% names(formals(duckdb$expr_constant))) { + duckdb$expr_constant("31", experimental = experimental) + } else { + duckdb$expr_constant("31") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( - if ("experimental" %in% names(formals(duckdb$expr_constant))) { - duckdb$expr_constant("23", experimental = experimental) - } else { - duckdb$expr_constant("23") - }, duckdb$expr_function( "substr", list( @@ -116,19 +108,19 @@ rel2 <- duckdb$rel_filter( duckdb$expr_constant(2L) } ) - ) + ), + if ("experimental" %in% names(formals(duckdb$expr_constant))) { + duckdb$expr_constant("23", experimental = experimental) + } else { + duckdb$expr_constant("23") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( - if ("experimental" %in% names(formals(duckdb$expr_constant))) { - duckdb$expr_constant("29", experimental = experimental) - } else { - duckdb$expr_constant("29") - }, duckdb$expr_function( "substr", list( @@ -144,19 +136,19 @@ rel2 <- duckdb$rel_filter( duckdb$expr_constant(2L) } ) - ) + ), + if ("experimental" %in% names(formals(duckdb$expr_constant))) { + duckdb$expr_constant("29", experimental = experimental) + } else { + duckdb$expr_constant("29") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( - if ("experimental" %in% names(formals(duckdb$expr_constant))) { - duckdb$expr_constant("30", experimental = experimental) - } else { - duckdb$expr_constant("30") - }, duckdb$expr_function( "substr", list( @@ -172,19 +164,19 @@ rel2 <- duckdb$rel_filter( duckdb$expr_constant(2L) } ) - ) + ), + if ("experimental" %in% names(formals(duckdb$expr_constant))) { + duckdb$expr_constant("30", experimental = experimental) + } else { + duckdb$expr_constant("30") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( - if ("experimental" %in% names(formals(duckdb$expr_constant))) { - duckdb$expr_constant("18", experimental = experimental) - } else { - duckdb$expr_constant("18") - }, duckdb$expr_function( "substr", list( @@ -200,19 +192,19 @@ rel2 <- duckdb$rel_filter( duckdb$expr_constant(2L) } ) - ) + ), + if ("experimental" %in% names(formals(duckdb$expr_constant))) { + duckdb$expr_constant("18", experimental = experimental) + } else { + duckdb$expr_constant("18") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( - if ("experimental" %in% names(formals(duckdb$expr_constant))) { - duckdb$expr_constant("17", experimental = experimental) - } else { - duckdb$expr_constant("17") - }, duckdb$expr_function( "substr", list( @@ -228,7 +220,12 @@ rel2 <- duckdb$rel_filter( duckdb$expr_constant(2L) } ) - ) + ), + if ("experimental" %in% names(formals(duckdb$expr_constant))) { + duckdb$expr_constant("17", experimental = experimental) + } else { + duckdb$expr_constant("17") + } ) ) ) @@ -565,90 +562,90 @@ rel14 <- duckdb$rel_filter( "|", list( duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("cntrycode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("13", experimental = experimental) } else { duckdb$expr_constant("13") - }, - duckdb$expr_reference("cntrycode") + } ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("cntrycode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("31", experimental = experimental) } else { duckdb$expr_constant("31") - }, - duckdb$expr_reference("cntrycode") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("cntrycode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("23", experimental = experimental) } else { duckdb$expr_constant("23") - }, - duckdb$expr_reference("cntrycode") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("cntrycode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("29", experimental = experimental) } else { duckdb$expr_constant("29") - }, - duckdb$expr_reference("cntrycode") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("cntrycode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("30", experimental = experimental) } else { duckdb$expr_constant("30") - }, - duckdb$expr_reference("cntrycode") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("cntrycode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("18", experimental = experimental) } else { duckdb$expr_constant("18") - }, - duckdb$expr_reference("cntrycode") + } ) ) ) ), duckdb$expr_function( - "___eq_na_matches_na", + "r_base::==", list( + duckdb$expr_reference("cntrycode"), if ("experimental" %in% names(formals(duckdb$expr_constant))) { duckdb$expr_constant("17", experimental = experimental) } else { duckdb$expr_constant("17") - }, - duckdb$expr_reference("cntrycode") + } ) ) )