Nothing
test_that("prefixed tables are dropped", {
# only testing on snowflake for now. should be the same for other dbs.
# TODO: run this on all databases
skip_if_not("snowflake" %in% dbToTest)
con <- DBI::dbConnect(odbc::odbc(),
SERVER = Sys.getenv("SNOWFLAKE_SERVER"),
UID = Sys.getenv("SNOWFLAKE_USER"),
PWD = Sys.getenv("SNOWFLAKE_PASSWORD"),
DATABASE = Sys.getenv("SNOWFLAKE_DATABASE"),
WAREHOUSE = Sys.getenv("SNOWFLAKE_WAREHOUSE"),
DRIVER = Sys.getenv("SNOWFLAKE_DRIVER"))
(cdm_schema <- strsplit(Sys.getenv("SNOWFLAKE_CDM_SCHEMA"), "\\.")[[1]])
(write_schema <- strsplit(Sys.getenv("SNOWFLAKE_SCRATCH_SCHEMA"), "\\.")[[1]])
# Be sure to set a writePrefix when creating your cdm
writePrefix <- "p3_c1_001_"
cdm <- cdmFromCon(con,
cdm_schema,
write_schema,
writePrefix = writePrefix,
cdmName = "snowflake-test")
# example table created during a study
cdm$new_table <- cdm$cdm_source %>%
dplyr::compute("new_table")
tempTables <- listTables(con, schema = write_schema) %>%
stringr::str_subset(writePrefix)
expect_true(length(tempTables) > 0)
# debugonce(cdmDisconnect)
# when you disconnect, set dropPrefixTables = TRUE. This should remove the intermediate tables.
cdmDisconnect(cdm, dropPrefixTables = TRUE)
# reconnect and check that the tables are gone.
con <- DBI::dbConnect(odbc::odbc(),
SERVER = Sys.getenv("SNOWFLAKE_SERVER"),
UID = Sys.getenv("SNOWFLAKE_USER"),
PWD = Sys.getenv("SNOWFLAKE_PASSWORD"),
DATABASE = Sys.getenv("SNOWFLAKE_DATABASE"),
WAREHOUSE = Sys.getenv("SNOWFLAKE_WAREHOUSE"),
DRIVER = Sys.getenv("SNOWFLAKE_DRIVER"))
# the intermediate prefixed tables are gone
tempTables <- listTables(con, schema = write_schema) |>
stringr::str_subset(writePrefix)
expect_true(length(tempTables) == 0)
DBI::dbDisconnect(con)
})
test_that("temporary duckdb files are cleaned up on disconnect", {
skip_if_not_installed("duckdb")
skip_on_cran()
skip_if_not("duckdb" %in% dbToTest)
tempDuckdbFile <- tempfile(fileext = ".duckdb")
con <- local_eunomia_con(databaseFile = tempDuckdbFile)
cdm <- cdmFromCon(con, "main", "main")
expect_true(file.exists(tempDuckdbFile))
cdmDisconnect(cdm)
expect_false(file.exists(tempDuckdbFile))
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.