Use poolCheckout()
to check out an object from the pool and
poolReturn()
to return it. You will receive a warning if all objects
aren't returned before the pool is closed.
localCheckout()
is a convenience function that can be used inside
functions (and other function-scoped operations like shiny::reactive()
and local()
). It checks out an object and automatically returns it when
the function exits
Note that validation is only performed when the object is checked out, so you generally want to keep the checked out around for as little time as possible.
When pooling DBI database connections, you normally would not use
poolCheckout()
. Instead, for single-shot queries, treat the pool object
itself as the DBI connection object and it will perform checkout/return for
you. And for transactions, use poolWithTransaction()
. See dbPool()
for
an example.
Usage
poolCheckout(pool)
# S4 method for class 'Pool'
poolCheckout(pool)
poolReturn(object)
# S4 method for class 'ANY'
poolReturn(object)
localCheckout(pool, env = parent.frame())
Examples
pool <- dbPool(RSQLite::SQLite())
# For illustration only. You normally would not explicitly use
# poolCheckout with a DBI connection pool (see Description).
con <- poolCheckout(pool)
con
#> <SQLiteConnection>
#> Path:
#> Extensions: TRUE
poolReturn(con)
f <- function() {
con <- localCheckout(pool)
# do something ...
}
f()
poolClose(pool)