with_db_connection: DBMS Connections which disconnect themselves.

View source: R/db.R

with_db_connectionR Documentation

DBMS Connections which disconnect themselves.

Description

Connections to Database Management Systems which automatically disconnect. In particular connections which are created with DBI::dbConnect() and closed with DBI::dbDisconnect().

Usage

with_db_connection(con, code)

local_db_connection(con, .local_envir = parent.frame())

Arguments

con

For with_db_connection() a named list with the connection(s) to create. For local_db_connection() the code to create a single connection, which is then returned.

code

[any]
Code to execute in the temporary environment

.local_envir

⁠[environment]⁠
The environment to use for scoping.

Value

[any]
The results of the evaluation of the code argument.

See Also

withr for examples

Examples

db <- tempfile()
with_db_connection(
  list(con = DBI::dbConnect(RSQLite::SQLite(), db)), {
    DBI::dbWriteTable(con, "mtcars", mtcars)
})

head_db_table <- function(...) {
  con <- local_db_connection(DBI::dbConnect(RSQLite::SQLite(), db))
  head(DBI::dbReadTable(con, "mtcars"), ...)
}
head_db_table()
unlink(db)

jimhester/withr documentation built on Feb. 4, 2024, 12:50 a.m.