diff --git a/NAMESPACE b/NAMESPACE index 3ed9e32e0..2f62208ae 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -27,6 +27,7 @@ export(package_name) export(random_table_name) export(s4_methods) export(set_default_context) +export(sql_union) export(test_all) export(test_compliance) export(test_connection) diff --git a/R/spec-meta-get-row-count.R b/R/spec-meta-get-row-count.R index 426cdb2ad..4e70691c6 100644 --- a/R/spec-meta-get-row-count.R +++ b/R/spec-meta-get-row-count.R @@ -27,7 +27,7 @@ spec_meta_get_row_count <- list( }, # row_count_query_limited = function(ctx, con) { - query <- union(.ctx = ctx, trivial_query(), "SELECT 2", "SELECT 3") + query <- sql_union(.ctx = ctx, trivial_query(), "SELECT 2", "SELECT 3") res <- local_result(dbSendQuery(con, query)) rc1 <- dbGetRowCount(res) expect_equal(rc1, 0L) @@ -44,7 +44,7 @@ spec_meta_get_row_count <- list( # row_count_query_empty = function(ctx, con) { #' For queries with an empty result set, - query <- union( + query <- sql_union( .ctx = ctx, "SELECT * FROM (SELECT 1 as a) a WHERE (0 = 1)" ) res <- local_result(dbSendQuery(con, query)) diff --git a/R/spec-result-fetch.R b/R/spec-result-fetch.R index d04830244..8699f7bbe 100644 --- a/R/spec-result-fetch.R +++ b/R/spec-result-fetch.R @@ -96,7 +96,7 @@ spec_result_fetch <- list( fetch_multi_row_multi_column = function(ctx, con) { #' or more columns by default returns the entire result. - query <- union( + query <- sql_union( .ctx = ctx, paste("SELECT", 1:5 + 0.5, "AS a,", 4:0 + 0.5, "AS b"), .order_by = "a" ) diff --git a/R/spec-result-get-query.R b/R/spec-result-get-query.R index b8ecab917..510976af3 100644 --- a/R/spec-result-get-query.R +++ b/R/spec-result-get-query.R @@ -120,7 +120,7 @@ spec_result_get_query <- list( get_query_multi_row_multi_column = function(ctx, con) { #' or more columns returns the entire result. - query <- union( + query <- sql_union( .ctx = ctx, paste("SELECT", 1:5 + 0.5, "AS a,", 4:0 + 0.5, "AS b"), .order_by = "a" ) diff --git a/R/spec-result-roundtrip.R b/R/spec-result-roundtrip.R index 384b5b973..7868d6392 100644 --- a/R/spec-result-roundtrip.R +++ b/R/spec-result-roundtrip.R @@ -310,7 +310,7 @@ test_select <- function(con, ..., .dots = NULL, .add_null = "none", query <- rev(query) } query <- paste0(query, ", ", 1:2, " as id") - query <- union(.ctx = .ctx, query) + query <- sql_union(.ctx = .ctx, query) } rows <- check_df(dbGetQuery(con, query)) diff --git a/R/spec-result.R b/R/spec-result.R index 697a0c0cd..2236f447d 100644 --- a/R/spec-result.R +++ b/R/spec-result.R @@ -15,7 +15,8 @@ spec_result <- c( # Helpers ----------------------------------------------------------------- -union <- function(..., .order_by = NULL, .ctx) { +#' @export +sql_union <- function(..., .order_by = NULL, .ctx) { query <- .ctx$tweaks$union(c(...)) if (!missing(.order_by)) { @@ -34,7 +35,7 @@ trivial_query <- function(n = 1L, column = "a", .order_by = NULL, .ctx = NULL) { if (length(column) == n) { query <- paste0("SELECT ", paste0(value, " AS ", column, collapse = ", ")) } else { - query <- union( + query <- sql_union( paste0("SELECT ", value, " AS ", column), .order_by = .order_by, .ctx = .ctx diff --git a/R/use.R b/R/use.R index c5ca253ff..761a7b3ec 100644 --- a/R/use.R +++ b/R/use.R @@ -44,6 +44,7 @@ use_dbitest <- function(path) { "get_placeholder_funs", "has_utf8_or_ascii_encoding", # + "sql_union", "trivial_query", "trivial_df", "trivial_values",