R/can_load_extension.R

Defines functions can_load_extension

can_load_extension <- function(name) {
  tryCatch(
    callr::r(args = list(name), function(name) {
      con <- DBI::dbConnect(duckdb::duckdb())
      DBI::dbExecute(con, paste0("INSTALL ", name))
      DBI::dbExecute(con, paste0("LOAD ", name))
      TRUE
    }),
    error = function(e) FALSE
  )
}

on_load({
  env <- environment()
  assign("can_load_extension", memoise::memoise(can_load_extension), envir = env)
})
duckdblabs/duckplyr documentation built on March 5, 2025, 3:46 a.m.