From a9ad28272912231f3257cbecbcb80f93de308396 Mon Sep 17 00:00:00 2001 From: Hadley Wickham Date: Wed, 21 Feb 2024 07:27:01 -0600 Subject: [PATCH] Fix R CMD check NOTEs Fixes #1461 --- R/backend-mssql.R | 10 +++++----- R/backend-oracle.R | 2 +- R/backend-postgres.R | 2 +- R/backend-redshift.R | 4 ++-- R/backend-snowflake.R | 10 +++++----- R/backend-spark-sql.R | 2 +- tests/testthat/test-backend-mssql.R | 10 +++++----- tests/testthat/test-backend-redshift.R | 4 ++-- tests/testthat/test-backend-snowflake.R | 10 +++++----- 9 files changed, 27 insertions(+), 27 deletions(-) diff --git a/R/backend-mssql.R b/R/backend-mssql.R index e4e9c4671..1850e6d89 100644 --- a/R/backend-mssql.R +++ b/R/backend-mssql.R @@ -364,13 +364,13 @@ simulate_mssql <- function(version = "15.0") { sql_expr(DATEFROMPARTS(!!year, !!month, !!day)) }, get_year = function(x) { - sql_expr(DATEPART('year', !!x)) + sql_expr(DATEPART(YEAR, !!x)) }, get_month = function(x) { - sql_expr(DATEPART('month', !!x)) + sql_expr(DATEPART(MONTH, !!x)) }, get_day = function(x) { - sql_expr(DATEPART('day', !!x)) + sql_expr(DATEPART(DAY, !!x)) }, difftime = function(time1, time2, tz, units = "days") { @@ -383,7 +383,7 @@ simulate_mssql <- function(version = "15.0") { cli::cli_abort('The only supported value for {.arg units} on SQL backends is "days"') } - sql_expr(DATEDIFF(day, !!time1, !!time2)) + sql_expr(DATEDIFF(DAY, !!time1, !!time2)) } ) @@ -659,4 +659,4 @@ bit_to_boolean <- function(x_expr) { } } -utils::globalVariables(c("BIT", "CAST", "%AS%", "%is%", "convert", "DATE", "DATENAME", "DATEPART", "IIF", "NOT", "SUBSTRING", "LTRIM", "RTRIM", "CHARINDEX", "SYSDATETIME", "SECOND", "MINUTE", "HOUR", "DAY", "DAYOFWEEK", "DAYOFYEAR", "MONTH", "QUARTER", "YEAR", "BIGINT", "INT", "%AND%", "%BETWEEN%")) +utils::globalVariables(c("BIT", "CAST", "%AS%", "%is%", "convert", "DATE", "DATEADD", "DATEFROMPARTS", "DATEDIFF", "DATENAME", "DATEPART", "IIF", "NOT", "SUBSTRING", "LTRIM", "RTRIM", "CHARINDEX", "SYSDATETIME", "SECOND", "MINUTE", "HOUR", "DAY", "DAYOFWEEK", "DAYOFYEAR", "MONTH", "QUARTER", "YEAR", "BIGINT", "INT", "%AND%", "%BETWEEN%")) diff --git a/R/backend-oracle.R b/R/backend-oracle.R index 071d8dd3d..467f3eb7f 100644 --- a/R/backend-oracle.R +++ b/R/backend-oracle.R @@ -277,4 +277,4 @@ db_explain.OraConnection <- db_explain.Oracle #' @export db_supports_table_alias_with_as.OraConnection <- db_supports_table_alias_with_as.Oracle -utils::globalVariables(c("DATE", "CURRENT_TIMESTAMP", "TRUNC", "dbms_random.VALUE")) +utils::globalVariables(c("DATE", "CURRENT_TIMESTAMP", "TRUNC", "dbms_random.VALUE", "DATEDIFF", "CEIL", "NUMTODSINTERVAL")) diff --git a/R/backend-postgres.R b/R/backend-postgres.R index 42265cb4f..5f9f0ba6f 100644 --- a/R/backend-postgres.R +++ b/R/backend-postgres.R @@ -453,4 +453,4 @@ db_col_types.PqConnection <- function(con, table, call) { #' @export db_col_types.PostgreSQL <- db_col_types.PqConnection -utils::globalVariables(c("strpos", "%::%", "%FROM%", "%ILIKE%", "DATE", "EXTRACT", "TO_CHAR", "string_agg", "%~*%", "%~%", "MONTH", "DOY", "DATE_TRUNC", "INTERVAL", "FLOOR", "WEEK")) +utils::globalVariables(c("strpos", "%::%", "%FROM%", "%ILIKE%", "DATE", "EXTRACT", "TO_CHAR", "string_agg", "%~*%", "%~%", "MONTH", "DOY", "DATE_TRUNC", "INTERVAL", "FLOOR", "WEEK", "make_date", "date_part")) diff --git a/R/backend-redshift.R b/R/backend-redshift.R index f40186f3e..b3f35d3c5 100644 --- a/R/backend-redshift.R +++ b/R/backend-redshift.R @@ -94,7 +94,7 @@ sql_translation.RedshiftConnection <- function(con) { cli::cli_abort('The only supported value for {.arg units} on SQL backends is "days"') } - sql_expr(DATEDIFF(day, !!time1, !!time2)) + sql_expr(DATEDIFF(DAY, !!time1, !!time2)) } ), sql_translator(.parent = postgres$aggregate, @@ -179,4 +179,4 @@ supports_window_clause.Redshift <- function(con) { #' @export supports_window_clause.RedshiftConnection <- supports_window_clause.Redshift -utils::globalVariables(c("REGEXP_REPLACE", "LAG", "LEAD", "LISTAGG", "float", "text")) +utils::globalVariables(c("REGEXP_REPLACE", "LAG", "LEAD", "LISTAGG", "float", "text", "DATE_PART")) diff --git a/R/backend-snowflake.R b/R/backend-snowflake.R index a72561524..afb696f2d 100644 --- a/R/backend-snowflake.R +++ b/R/backend-snowflake.R @@ -224,13 +224,13 @@ sql_translation.Snowflake <- function(con) { sql_expr(DATE_FROM_PARTS(!!year, !!month, !!day)) }, get_year = function(x) { - sql_expr(DATE_PART('year', !!x)) + sql_expr(DATE_PART(YEAR, !!x)) }, get_month = function(x) { - sql_expr(DATE_PART('month', !!x)) + sql_expr(DATE_PART(MONTH, !!x)) }, get_day = function(x) { - sql_expr(DATE_PART('day', !!x)) + sql_expr(DATE_PART(DAY, !!x)) }, difftime = function(time1, time2, tz, units = "days") { @@ -243,7 +243,7 @@ sql_translation.Snowflake <- function(con) { cli::cli_abort('The only supported value for {.arg units} on SQL backends is "days"') } - sql_expr(DATEDIFF(day, !!time1, !!time2)) + sql_expr(DATEDIFF(DAY, !!time1, !!time2)) }, # LEAST / GREATEST on Snowflake will not respect na.rm = TRUE by default (similar to Oracle/Access) # https://docs.snowflake.com/en/sql-reference/functions/least @@ -355,4 +355,4 @@ snowflake_pmin_pmax_builder <- function(dot_1, dot_2, comparison){ glue_sql2(sql_current_con(), glue("COALESCE(IFF({dot_2} {comparison} {dot_1}, {dot_2}, {dot_1}), {dot_2}, {dot_1})")) } -utils::globalVariables(c("%REGEXP%", "DAYNAME", "DECODE", "FLOAT", "MONTHNAME", "POSITION", "trim", "LENGTH")) +utils::globalVariables(c("%REGEXP%", "DAYNAME", "DECODE", "FLOAT", "MONTHNAME", "POSITION", "trim", "LENGTH", "DATE_FROM_PARTS", "DATE_PART")) diff --git a/R/backend-spark-sql.R b/R/backend-spark-sql.R index 502f65f12..8cd9288d1 100644 --- a/R/backend-spark-sql.R +++ b/R/backend-spark-sql.R @@ -161,4 +161,4 @@ simulate_spark_sql <- function() simulate_dbi("Spark SQL") table } -utils::globalVariables("regexp_replace") +utils::globalVariables(c("regexp_replace", "date_add", "add_months", "datediff")) diff --git a/tests/testthat/test-backend-mssql.R b/tests/testthat/test-backend-mssql.R index dc875f279..bab3508d3 100644 --- a/tests/testthat/test-backend-mssql.R +++ b/tests/testthat/test-backend-mssql.R @@ -136,15 +136,15 @@ test_that("custom clock functions translated correctly", { expect_error(test_translate_sql(add_days(x, 1, "dots", "must", "be empty"))) expect_equal(test_translate_sql(date_build(2020, 1, 1)), sql("DATEFROMPARTS(2020.0, 1.0, 1.0)")) expect_equal(test_translate_sql(date_build(year_column, 1L, 1L)), sql("DATEFROMPARTS(`year_column`, 1, 1)")) - expect_equal(test_translate_sql(get_year(date_column)), sql("DATEPART('year', `date_column`)")) - expect_equal(test_translate_sql(get_month(date_column)), sql("DATEPART('month', `date_column`)")) - expect_equal(test_translate_sql(get_day(date_column)), sql("DATEPART('day', `date_column`)")) + expect_equal(test_translate_sql(get_year(date_column)), sql("DATEPART(YEAR, `date_column`)")) + expect_equal(test_translate_sql(get_month(date_column)), sql("DATEPART(MONTH, `date_column`)")) + expect_equal(test_translate_sql(get_day(date_column)), sql("DATEPART(DAY, `date_column`)")) }) test_that("difftime is translated correctly", { local_con(simulate_mssql()) - expect_equal(test_translate_sql(difftime(start_date, end_date, units = "days")), sql("DATEDIFF(day, `start_date`, `end_date`)")) - expect_equal(test_translate_sql(difftime(start_date, end_date)), sql("DATEDIFF(day, `start_date`, `end_date`)")) + expect_equal(test_translate_sql(difftime(start_date, end_date, units = "days")), sql("DATEDIFF(DAY, `start_date`, `end_date`)")) + expect_equal(test_translate_sql(difftime(start_date, end_date)), sql("DATEDIFF(DAY, `start_date`, `end_date`)")) expect_error(test_translate_sql(difftime(start_date, end_date, units = "auto"))) expect_error(test_translate_sql(difftime(start_date, end_date, tz = "UTC", units = "days"))) diff --git a/tests/testthat/test-backend-redshift.R b/tests/testthat/test-backend-redshift.R index 55e66b20f..f2b5a9699 100644 --- a/tests/testthat/test-backend-redshift.R +++ b/tests/testthat/test-backend-redshift.R @@ -72,8 +72,8 @@ test_that("custom clock functions translated correctly", { test_that("difftime is translated correctly", { local_con(simulate_redshift()) - expect_equal(test_translate_sql(difftime(start_date, end_date, units = "days")), sql("DATEDIFF(day, `start_date`, `end_date`)")) - expect_equal(test_translate_sql(difftime(start_date, end_date)), sql("DATEDIFF(day, `start_date`, `end_date`)")) + expect_equal(test_translate_sql(difftime(start_date, end_date, units = "days")), sql("DATEDIFF(DAY, `start_date`, `end_date`)")) + expect_equal(test_translate_sql(difftime(start_date, end_date)), sql("DATEDIFF(DAY, `start_date`, `end_date`)")) expect_error(test_translate_sql(difftime(start_date, end_date, units = "auto"))) expect_error(test_translate_sql(difftime(start_date, end_date, tz = "UTC", units = "days"))) diff --git a/tests/testthat/test-backend-snowflake.R b/tests/testthat/test-backend-snowflake.R index c628308d5..37c50828f 100644 --- a/tests/testthat/test-backend-snowflake.R +++ b/tests/testthat/test-backend-snowflake.R @@ -109,15 +109,15 @@ test_that("custom clock functions translated correctly", { expect_error(test_translate_sql(add_days(x, 1, "dots", "must", "be empty"))) expect_equal(test_translate_sql(date_build(2020, 1, 1)), sql("DATE_FROM_PARTS(2020.0, 1.0, 1.0)")) expect_equal(test_translate_sql(date_build(year_column, 1L, 1L)), sql("DATE_FROM_PARTS(`year_column`, 1, 1)")) - expect_equal(test_translate_sql(get_year(date_column)), sql("DATE_PART('year', `date_column`)")) - expect_equal(test_translate_sql(get_month(date_column)), sql("DATE_PART('month', `date_column`)")) - expect_equal(test_translate_sql(get_day(date_column)), sql("DATE_PART('day', `date_column`)")) + expect_equal(test_translate_sql(get_year(date_column)), sql("DATE_PART(YEAR, `date_column`)")) + expect_equal(test_translate_sql(get_month(date_column)), sql("DATE_PART(MONTH, `date_column`)")) + expect_equal(test_translate_sql(get_day(date_column)), sql("DATE_PART(DAY, `date_column`)")) }) test_that("difftime is translated correctly", { local_con(simulate_snowflake()) - expect_equal(test_translate_sql(difftime(start_date, end_date, units = "days")), sql("DATEDIFF(day, `start_date`, `end_date`)")) - expect_equal(test_translate_sql(difftime(start_date, end_date)), sql("DATEDIFF(day, `start_date`, `end_date`)")) + expect_equal(test_translate_sql(difftime(start_date, end_date, units = "days")), sql("DATEDIFF(DAY, `start_date`, `end_date`)")) + expect_equal(test_translate_sql(difftime(start_date, end_date)), sql("DATEDIFF(DAY, `start_date`, `end_date`)")) expect_error(test_translate_sql(difftime(start_date, end_date, units = "auto"))) expect_error(test_translate_sql(difftime(start_date, end_date, tz = "UTC", units = "days")))