You cannot perform SQL transaction using a Pool object directly (because that would imply keeping a connection open and not knowing when to return it back to the pool).
# S4 method for Pool
dbBegin(conn, ...)# S4 method for Pool
dbCommit(conn, ...)
# S4 method for Pool
dbRollback(conn, ...)
# S4 method for Pool
dbWithTransaction(conn, code)
See DBI::transactions().
If you must use these methods, fetch an actual connection first
with conn <- poolCheckout(pool) -- then call the appropriate
DBI method on conn. Since you're fetching a connection
from the pool yourself, you must also remember to return it
back to the pool when you're done: poolReturn(conn)
(otherwise, you have a leaked connection).
For simple transactions, consider using
poolWithTransaction() instead,
which is safer since it does not require you to fetch and
release the connection yourself.
See DBI::transactions() for the original
documentation.