Skip to content

Commit baf9c63

Browse files
committed
switch from ::: to using getFromNamespace and add test for sql_translation.DatabaseConnectorConnection
1 parent 62c3094 commit baf9c63

File tree

2 files changed

+18
-14
lines changed

2 files changed

+18
-14
lines changed

R/backend-DatabaseConnector.R

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,18 @@ dbplyr_edition.DatabaseConnectorConnection <- function(con) {
55
2L
66
}
77

8-
9-
108
#' @export
119
#' @importFrom dbplyr sql_translation
1210
sql_translation.DatabaseConnectorJdbcConnection <- function(con) {
1311

1412
switch(dbms(con),
15-
"oracle" = dbplyr:::sql_translation.Oracle(con),
16-
"postgresql" = dbplyr:::sql_translation.PqConnection(con),
17-
"redshift" = dbplyr:::sql_translation.RedshiftConnection(con),
18-
"sql server" = `dbplyr:::sql_translation.Microsoft SQL Server`(con),
19-
"bigquery" = dbplyr:::sql_translation.BigQueryConnection(con),
20-
"sqlite" = dbplyr:::sql_translation.SQLiteConnection(con),
21-
"sqlite extended" = dbplyr:::sql_translation.SQLiteConnection(con),
22-
"spark" = `dbplyr:::sql_translation.Spark SQL`(con),
23-
"snowflake" = dbplyr:::sql_translation.Snowflake(con),
24-
"synapse" = `dbplyr:::sql_translation.Microsoft SQL Server`(con),
25-
"duckdb" = duckdb:::sql_translation.duckdb_connection(con),
13+
"oracle" = utils::getFromNamespace("sql_translation.Oracle", "dbplyr")(con),
14+
"postgresql" = utils::getFromNamespace("sql_translation.PqConnection", "dbplyr")(con),
15+
"redshift" = utils::getFromNamespace("sql_translation.RedshiftConnection", "dbplyr")(con),
16+
"sql server" = utils::getFromNamespace("sql_translation.Microsoft SQL Server", "dbplyr")(con),
17+
"bigquery" = utils::getFromNamespace("sql_translation.BigQueryConnection", "bigrquery")(con),
18+
"spark" = utils::getFromNamespace("sql_translation.Spark SQL", "dbplyr")(con),
19+
"snowflake" = utils::getFromNamespace("sql_translation.Snowflake", "dbplyr")(con),
20+
"synapse" = utils::getFromNamespace("sql_translation.Microsoft SQL Server", "dbplyr")(con),
2621
rlang::abort("Sql dialect is not supported!"))
2722
}
28-

tests/testthat/test-dbplyr.R

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,13 @@ for (testServer in testServers) {
2727
#
2828
# expect_equal(day(date), c(1, 31, 31))
2929
# })
30+
31+
test_that("dbplyr::sql_translation works with jdbc connections", {
32+
DatabaseConnectorJdbcDrivers <- c("sql server", "oracle", "postgresql", "redshift", "bigquery", "snowflake", "synapse", "spark")
33+
for (db in DatabaseConnectorJdbcDrivers) {
34+
version <- if (db %in% c("sql server", "synapse")) "15" else NULL
35+
con <- dbplyr::simulate_dbi("DatabaseConnectorJdbcConnection", dbms = db, version = version)
36+
testthat::expect_is(dbplyr::sql_translation(con), "sql_variant")
37+
}
38+
})
39+

0 commit comments

Comments
 (0)