compatibility with box::use
tyner opened this issue · 1 comments
tyner commented
I am not entirely sure whether this is an issue with box
versus implyr
, but thought I might start here given the similarity with issue #9. I am using implyr
version 0.4.0, odbc
version 1.3.4, DBI
version 1.1.3, and R version 4.1.3 on Windows 10 x64.
Example to demonstrate:
box::use(implyr[src_impala], DBI[dbGetQuery])
options(warn=1)
impala <- src_impala(drv = odbc::odbc(),
dsn = "my_dsn",
database = "default",
bigint = "character",
auto_disconnect = FALSE
)
ret <- dbGetQuery(impala, "show databases")
the error is:
Error in setMethod("dbSendQuery", c("impala_connection", "character"), :
no existing definition for function ‘dbSendQuery’
Apologies if I'm barking up the wrong tree on this one.
tyner commented
FWIW, if I do it this way, it works:
box::use(implyr[src_impala, dbGetQuery],
DBI[dbSendQuery, dbExecute])
but not if I wrap that block inside a local
; i.e., this still fails:
local({
box::use(implyr[src_impala, dbGetQuery],
DBI[dbSendQuery, dbExecute])
options(warn=1)
impala <- src_impala(drv = odbc::odbc(),
dsn = "my_dsn",
database = "default",
bigint = "character",
auto_disconnect = FALSE
)
ret <- dbGetQuery(impala, "show databases")
})