Skip to content

Commit b33c429

Browse files
authored
Merge pull request #154 from duckdblabs/f-ext-4
2 parents 342c32f + a1a5c55 commit b33c429

File tree

16 files changed

+27
-28
lines changed

16 files changed

+27
-28
lines changed

R/aaa-meta.R

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# Overwritten in meta.R
2+
meta_ext_register <- function(...) {}
23
meta_rel_register <- function(...) {}
34
meta_rel_register_df <- function(...) {}
45
meta_rel_register_file <- function(...) {}

R/relational-duckdb.R

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ duckplyr_macros <- c(
3838
# "as.Date" = '(x) AS strptime(x, \'%Y-%m-%d\')',
3939

4040
"grepl" = "(pattern, x) AS (CASE WHEN x IS NULL THEN FALSE ELSE regexp_matches(x, pattern) END)",
41-
"as.integer" = "(x) AS CAST(x AS int32)",
4241
"if_else" = "(test, yes, no) AS (CASE WHEN test THEN yes ELSE no END)",
4342
"|" = "(x, y) AS (x OR y)",
4443
"&" = "(x, y) AS (x AND y)",

R/relational.R

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,7 @@ rel_translate <- function(
225225
"/" = "___divide",
226226
"log10" = "___log10",
227227
"log" = "___log",
228+
"as.integer" = "r_base::as.integer",
228229
NULL
229230
)
230231

@@ -263,6 +264,9 @@ rel_translate <- function(
263264

264265
if (name %in% names(aliases)) {
265266
name <- aliases[[name]]
267+
if (grepl("^r_base::", name)) {
268+
meta_ext_register()
269+
}
266270
}
267271
# name <- aliases[name] %|% name
268272

@@ -309,7 +313,8 @@ rel_translate <- function(
309313
)
310314

311315
if (name == "row_number") {
312-
fun <- relexpr_function("as.integer", list(fun))
316+
fun <- relexpr_function("r_base::as.integer", list(fun))
317+
meta_ext_register()
313318
}
314319
}
315320
fun

R/tpch_raw_07.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -686,7 +686,7 @@ tpch_raw_07 <- function(con, experimental) {
686686
},
687687
{
688688
tmp_expr <- duckdb$expr_function(
689-
"as.integer",
689+
"r_base::as.integer",
690690
list(
691691
duckdb$expr_function(
692692
"strftime",

R/tpch_raw_08.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -686,7 +686,7 @@ tpch_raw_08 <- function(con, experimental) {
686686
},
687687
{
688688
tmp_expr <- duckdb$expr_function(
689-
"as.integer",
689+
"r_base::as.integer",
690690
list(
691691
duckdb$expr_function(
692692
"strftime",

R/tpch_raw_09.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -555,7 +555,7 @@ tpch_raw_09 <- function(con, experimental) {
555555
},
556556
{
557557
tmp_expr <- duckdb$expr_function(
558-
"as.integer",
558+
"r_base::as.integer",
559559
list(
560560
duckdb$expr_function(
561561
"strftime",

R/tpch_raw_oo_07.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1150,7 +1150,7 @@ tpch_raw_oo_07 <- function(con, experimental) {
11501150
},
11511151
{
11521152
tmp_expr <- duckdb$expr_function(
1153-
"as.integer",
1153+
"r_base::as.integer",
11541154
list(
11551155
duckdb$expr_function(
11561156
"strftime",

R/tpch_raw_oo_08.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1147,7 +1147,7 @@ tpch_raw_oo_08 <- function(con, experimental) {
11471147
},
11481148
{
11491149
tmp_expr <- duckdb$expr_function(
1150-
"as.integer",
1150+
"r_base::as.integer",
11511151
list(
11521152
duckdb$expr_function(
11531153
"strftime",

R/tpch_raw_oo_09.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -866,7 +866,7 @@ tpch_raw_oo_09 <- function(con, experimental) {
866866
},
867867
{
868868
tmp_expr <- duckdb$expr_function(
869-
"as.integer",
869+
"r_base::as.integer",
870870
list(
871871
duckdb$expr_function(
872872
"strftime",

tests/testthat/test-rel_api.R

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8990,7 +8990,7 @@ test_that("relational mutate(d = row_number()) order-preserving", {
89908990
drv <- duckdb::duckdb()
89918991
con <- DBI::dbConnect(drv)
89928992
experimental <- FALSE
8993-
invisible(DBI::dbExecute(con, 'CREATE MACRO "as.integer"(x) AS CAST(x AS int32)'))
8993+
invisible(duckdb$rapi_load_rfuns(drv@database_ref))
89948994
df1 <- data.frame(a = seq(1, 6, by = 1), b = rep(2, 6L), g = c(1L, 2L, 2L, 3L, 3L, 3L))
89958995

89968996
rel1 <- duckdb$rel_from_df(con, df1, experimental = experimental)
@@ -9014,7 +9014,7 @@ test_that("relational mutate(d = row_number()) order-preserving", {
90149014
},
90159015
{
90169016
tmp_expr <- duckdb$expr_function(
9017-
"as.integer",
9017+
"r_base::as.integer",
90189018
list(
90199019
duckdb$expr_window(duckdb$expr_function("row_number", list()), list(), list(), offset_expr = NULL, default_expr = NULL)
90209020
)
@@ -9039,7 +9039,7 @@ test_that("relational mutate(d = row_number(), .by = g) order-preserving", {
90399039
drv <- duckdb::duckdb()
90409040
con <- DBI::dbConnect(drv)
90419041
experimental <- FALSE
9042-
invisible(DBI::dbExecute(con, 'CREATE MACRO "as.integer"(x) AS CAST(x AS int32)'))
9042+
invisible(duckdb$rapi_load_rfuns(drv@database_ref))
90439043
df1 <- data.frame(a = seq(1, 6, by = 1), b = rep(2, 6L), g = c(1L, 2L, 2L, 3L, 3L, 3L))
90449044

90459045
rel1 <- duckdb$rel_from_df(con, df1, experimental = experimental)
@@ -9093,7 +9093,7 @@ test_that("relational mutate(d = row_number(), .by = g) order-preserving", {
90939093
},
90949094
{
90959095
tmp_expr <- duckdb$expr_function(
9096-
"as.integer",
9096+
"r_base::as.integer",
90979097
list(
90989098
duckdb$expr_window(duckdb$expr_function("row_number", list()), list(duckdb$expr_reference("g")), list(), offset_expr = NULL, default_expr = NULL)
90999099
)
@@ -12941,7 +12941,7 @@ test_that("relational mutate(d = row_number()) order-enforcing", {
1294112941
drv <- duckdb::duckdb()
1294212942
con <- DBI::dbConnect(drv)
1294312943
experimental <- FALSE
12944-
invisible(DBI::dbExecute(con, 'CREATE MACRO "as.integer"(x) AS CAST(x AS int32)'))
12944+
invisible(duckdb$rapi_load_rfuns(drv@database_ref))
1294512945
df1 <- data.frame(a = seq(1, 6, by = 1), b = rep(2, 6L), g = c(1L, 2L, 2L, 3L, 3L, 3L))
1294612946

1294712947
rel1 <- duckdb$rel_from_df(con, df1, experimental = experimental)
@@ -12965,7 +12965,7 @@ test_that("relational mutate(d = row_number()) order-enforcing", {
1296512965
},
1296612966
{
1296712967
tmp_expr <- duckdb$expr_function(
12968-
"as.integer",
12968+
"r_base::as.integer",
1296912969
list(
1297012970
duckdb$expr_window(duckdb$expr_function("row_number", list()), list(), list(), offset_expr = NULL, default_expr = NULL)
1297112971
)
@@ -12994,7 +12994,7 @@ test_that("relational mutate(d = row_number(), .by = g) order-enforcing", {
1299412994
drv <- duckdb::duckdb()
1299512995
con <- DBI::dbConnect(drv)
1299612996
experimental <- FALSE
12997-
invisible(DBI::dbExecute(con, 'CREATE MACRO "as.integer"(x) AS CAST(x AS int32)'))
12997+
invisible(duckdb$rapi_load_rfuns(drv@database_ref))
1299812998
df1 <- data.frame(a = seq(1, 6, by = 1), b = rep(2, 6L), g = c(1L, 2L, 2L, 3L, 3L, 3L))
1299912999

1300013000
rel1 <- duckdb$rel_from_df(con, df1, experimental = experimental)
@@ -13018,7 +13018,7 @@ test_that("relational mutate(d = row_number(), .by = g) order-enforcing", {
1301813018
},
1301913019
{
1302013020
tmp_expr <- duckdb$expr_function(
13021-
"as.integer",
13021+
"r_base::as.integer",
1302213022
list(
1302313023
duckdb$expr_window(duckdb$expr_function("row_number", list()), list(duckdb$expr_reference("g")), list(), offset_expr = NULL, default_expr = NULL)
1302413024
)

0 commit comments

Comments
 (0)